Прозрачность с библиотекой изображений Python - PullRequest
8 голосов
/ 29 сентября 2011

Я пытаюсь разместить водяной знак PNG с частичной прозрачностью поверх изображения профиля Facebook (jpg) с помощью библиотеки изображений Python. Часть, которая должна быть прозрачной, просто выделяется белым цветом. Вот мой код:

con = urllib2.urlopen('facebook_link_to_profile_pic')
im = Image.open(cStringIO.StringIO(con.read()))

overlayCon = urllib2.urlopen('link_to_overlay')
overlay = Image.open(cStringIO.StringIO(overlayCon.read()))

im.paste(overlay, (0, 0))

im.save('name', 'jpeg', quality=100)

Я пробовал несколько разных способов, но ничего не получалось. Любая помощь приветствуется.

1 Ответ

8 голосов
/ 29 сентября 2011

3-й вариант paste - маска (см. документы ). Он принимает изображение RGBA, поэтому самое простое решение - снова использовать наложенное изображение: im.paste(overlay, (0, 0), overlay).

...