&引用;ValueError:错误的透明度遮罩“;使用Python图像库将一个图像粘贴到另一个图像时?

&引用;ValueError:错误的透明度遮罩“;使用Python图像库将一个图像粘贴到另一个图像时?,python,python-imaging-library,pillow,Python,Python Imaging Library,Pillow,我正在尝试使用Python图像库将图像粘贴到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:

我正在尝试使用Python图像库将图像粘贴到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"

我做错了什么?

这里的比赛很晚,但我遇到了同样的问题。通过谷歌搜索,我可以确保所有使用的图像都是相同的模式(特别是“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")

card.paste(img,(0,0,x,y))
有效吗?(即没有透明遮罩)Daniel:省略透明不会导致程序崩溃,但颜色看起来很奇怪,图像有点“粒状”质量。刚刚意识到颜色错误是由其他原因造成的(没有将bg图像设置为RGBA)。实际上,不使用透明遮罩的粘贴确实可以按预期工作。谢谢你:)谢谢杰里米,这使我走上了正确的道路。根据我的经验,只有遮罩需要RGBA,基本图像在RGB中更好。这似乎是一个观点@Docbrisky。你有一些文档来支持你的陈述吗?是的,似乎是对的,只有面具需要是RGBA。