" ValueError:错误的透明度掩码"使用Python Imaging Library将一个图像粘贴到另一个图像上时?

时间:2015-07-07 15:54:37

标签: python python-imaging-library pillow

我尝试使用Python Imaging Library将图像粘贴到backgorund上,如下所示:

card = Image.new("RGB", (220, 220), (255, 255, 255))
img = Image.open("/Users/paulvorobyev/test.png")

...

x, y = img.size
card.paste(img, (0, 0, x, y), img)

card.save("test.png")

当我运行此代码时,我得到:

 "ValueError: bad transparency mask"

我做错了什么?

1 个答案:

答案 0 :(得分:33)

这里比赛的后期,但我刚遇到同样的问题。经过一些谷歌搜索,我可以确保所有使用的图像都是相同的模式(特别是" RGBA"),让我的面具工作。

你可以试试这个:

card = Image.new("RGBA", (220, 220), (255, 255, 255))
img = Image.open("/Users/paulvorobyev/test.png").convert("RGBA")
x, y = img.size
card.paste(img, (0, 0, x, y), img)
card.save("test.png", format="png")