我一直在墙上撞了一会儿,所以也许有人可以提供帮助。
我正在使用PIL打开带有透明背景和一些随机黑色涂鸦的PNG,并尝试将其置于另一个PNG(没有透明度)的顶部,然后将其保存到第三个文件。
最后全黑,这很刺激,因为我没有说它是黑色的。
我已经通过其他帖子提出的多个修正测试对此进行了测试。图像以RGBA格式打开,它仍然搞砸了。
此外,该程序应该处理各种文件格式,这就是我使用PIL的原因。讽刺的是我尝试的第一种格式都是搞砸了。
任何帮助将不胜感激。这是代码:
from PIL import Image
img = Image.open(basefile)
layer = Image.open(layerfile) # this file is the transparent one
print layer.mode # RGBA
img.paste(layer, (xoff, yoff)) # xoff and yoff are 0 in my tests
img.save(outfile)
答案 0 :(得分:37)
我认为你想要使用的是粘贴掩码参数。
请参阅docs,(向下滚动到paste
)
from PIL import Image
img = Image.open(basefile)
layer = Image.open(layerfile) # this file is the transparent one
print layer.mode # RGBA
img.paste(layer, (xoff, yoff), mask=layer)
# the transparancy layer will be used as the mask
img.save(outfile)