2011-09-29 8 views
7

Estoy tratando de colocar una marca de agua PNG con transparencia parcial en la parte superior de una foto de perfil de Facebook (jpg) usando la Biblioteca de imágenes de Python. La parte que debería ser transparente simplemente sale blanca. Aquí está mi código:Transparencia con la biblioteca de imágenes de 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) 

He intentado algunas maneras diferentes, pero no he conseguido nada para trabajar. Cualquier ayuda es apreciada.

Respuesta

6

La tercera opción para paste es una máscara (ver docs). Acepta una imagen RGBA, por lo que la solución más simple es volver a utilizar su imagen superpuesta: im.paste(overlay, (0, 0), overlay).

+0

Gracias! Lo aprecio. Realmente fue así de simple ... Me preocupaba por los formatos de archivo. – dchang

Cuestiones relacionadas