如何使用枕头在图像上添加透明覆盖物?

时间:2019-10-20 22:31:28

标签: python python-imaging-library

我正在尝试在jpeg图像上添加透明叠加层。在下面的示例中,所需的结果将是带有淡红色的红色切片的红色图像。

我输入的是jpeg图像。由于jpeg没有alpha通道,所以我可以将其转换为'RGBA'图像,然后将覆盖层粘贴到上面:

from PIL import Image, ImageDraw

# img = Image.open('input.jpg').convert('RGBA')
img = Image.new('RGBA', (400,400), (255,0,0))

img2 = Image.new('RGBA', (400,400))
draw2 = ImageDraw.Draw(img2)
draw2.pieslice([0,0,400,400], 90, 180, fill='white')
img.putalpha(128)

img.save('img.png')
img2.save('img2.png')

img.paste(img2)
img.save('img1+2.png')

但是,这并没有达到预期的效果,Windows Photos甚至无法正确打开它。

我看到了blendalpha_composite函数,但是对我来说没有理想的效果。我不想降低叠加层背景的alpha值。

0 个答案:

没有答案