首先,请确保以支持透明性的格式保存图像。
PNG有,
JPG没有…下面是一些相当不错的代码,它们将添加透明角。它是这样的:
- 绘制一个半径的圆,
rad
使用draw.ellipse()
- 为Alpha通道创建与您的图像大小相同的图像
- 将我们的圈子切成四个部分(圆角),并将其放置在alpha图像的正确角上
- 使用以下命令将Alpha通道放入图像
putalpha()
- 另存为
png
,从而保持透明度。
这是代码:
import Image, ImageDrawdef 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, 255) 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 imim = Image.open('tiger.jpg')im = add_corners(im, 100)im.save('tiger.png')弯边老虎示例:
这是您的图像,使用此代码处理后,产生透明的角:



