"ValueError: плохая маска прозрачности" при вставке одного изображения в другое с помощью библиотеки изображений Python?

Я пытаюсь вставить изображение на backgorund с помощью библиотеки изображений Python следующим образом:

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

Поздно к игре здесь, но я просто столкнулся с той же проблемой. После некоторого googling я смог заставить свою маску работать, убедившись, что все используемые изображения были одного и того же режима (в частности, "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")