"ValueError: маска плохой прозрачности" при вставке одного изображения в другое с помощью библиотеки изображений Python?
Я пытаюсь вставить изображение в backgorund с помощью Python Imaging Library следующим образом:
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 ответ
Решение
Поздно здесь игра, но я столкнулся с той же проблемой. После некоторого поиска я смог заставить свою маску работать, убедившись, что все используемые изображения были в одном и том же режиме (в частности, "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")