2011-09-29 14 views
7

Próbuję umieścić znak wodny PNG z częściową przezroczystością nad piksem profilu Facebook (jpg) przy użyciu biblioteki obrazów Python. Część, która powinna być przezroczysta, po prostu odpada jak biała. Oto mój kod:Przejrzystość z biblioteką obrazów w języku 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) 

Próbowałem na kilka różnych sposobów, ale nie dostałem nic do pracy. Każda pomoc jest doceniana.

Odpowiedz

6

Trzecia opcja to paste to maska ​​(patrz: docs). Przyjmuje obraz RGBA, więc najprostszym rozwiązaniem jest ponowne użycie obrazu nakładki: im.paste(overlay, (0, 0), overlay).

+0

Dzięki! Doceniam to. To naprawdę było takie proste ... Martwiłem się formatami plików. – dchang