python 白色怎么表示_python – 如何使用pil使用白色背景(透明?)的round_corner标识?...

我有一个方形徽标,我需要round_corner它,搜索了一段时间,并得到以下代码“工作”:

def round_corner_jpg(image, radius):

"""generate round corner for image"""

mask = Image.new('RGB', image.size)

#mask = Image.new('RGB', (image.size[0] - radius, image.size[1] - radius))

#mask = Image.new('L', image.size, 255)

draw = aggdraw.Draw(mask)

brush = aggdraw.Brush('black')

width, height = mask.size

draw.rectangle((0,0,width,height), aggdraw.Brush('white'))

#upper-left corner

draw.pieslice((0,0,radius*2, radius*2), 90, 180, None, brush)

#upper-right corner

draw.pieslice((width - radius*2, 0, width, radius*2), 0, 90, None, brush)

#bottom-left corner

draw.pieslice((0, height - radius * 2, radius*2, height),180, 270, None, brush)

#bottom-right corner

draw.pieslice((width - radius * 2, height - radius * 2, width, height), 270, 360, None, brush)

#center rectangle

draw.rectangle((radius, radius, width - radius, height - radius), brush)

#four edge rectangle

draw.rectangle((radius, 0, width - radius, radius), brush)

draw.rectangle((0, radius, radius, height-radius), brush)

draw.rectangle((radius, height-radius, width-radius, height), brush)

draw.rectangle((width-radius, radius, width, height-radius), brush)

draw.flush()

del draw

return ImageChops.add(mask, image)

然后我保存了返回的图像对象,但它在角落里有白色背景

like this

我怎样才能摆脱白色背景或使其隐形?

提前谢谢〜

编辑:

这是fraxel的代码,谢谢〜

def add_corners(im, rad):

circle = Image.new('L', (rad * 2, rad * 2), 0)

draw = ImageDraw.Draw(circle)

draw.ellipse((0, 0, rad * 2, rad * 2), fill=255)

alpha = Image.new('L', im.size, "white")

w, h = im.size

alpha.paste(circle.crop((0, 0, rad, rad)), (0, 0))

alpha.paste(circle.crop((0, rad, rad, rad * 2)), (0, h - rad))

alpha.paste(circle.crop((rad, 0, rad * 2, rad)), (w - rad, 0))

alpha.paste(circle.crop((rad, rad, rad * 2, rad * 2)), (w - rad, h - rad))

im.putalpha(alpha)

return im

if __name__ == '__main__':

im = Image.open('1.jpg')

im = add_corners(im, 100)

im.save('out.png')`

我很抱歉..我需要图像形状为椭圆形而不是矩形,I.E.从图片中写下来的东西和@fraxel,我仍然可以看到你为我处理的图片中的白色角落

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值