python - PNG transparente en PIL resulta no ser transparente
python-imaging-library (1)
He estado golpeando mi cabeza contra la pared por un tiempo con esto, así que quizás alguien pueda ayudar.
Estoy usando PIL para abrir un PNG con fondo transparente y algunos garabatos negros aleatorios, y trato de ponerlo encima de otro PNG (sin transparencia), luego guardarlo en un tercer archivo.
Sale todo negro al final, lo cual es irritante, porque no le dije que fuera negro.
He probado esto con varias correcciones propuestas de otras publicaciones. La imagen se abre en formato RGBA, y todavía está desordenada.
Además, se supone que este programa trata con todo tipo de formatos de archivo, por lo que estoy usando PIL. Es irónico que el primer formato que probé sea muy chiflado.
Cualquier ayuda sería apreciada. Aquí está el código:
from PIL import Image
img = Image.open(basefile)
layer = Image.open(layerfile) # this file is the transparent one
print layer.mode # RGBA
img.paste(layer, (xoff, yoff)) # xoff and yoff are 0 in my tests
img.save(outfile)
Creo que lo que quieres usar es el argumento de pegar máscara. ver los docs , (desplácese hacia abajo para paste
)
from PIL import Image
img = Image.open(basefile)
layer = Image.open(layerfile) # this file is the transparent one
print layer.mode # RGBA
img.paste(layer, (xoff, yoff), mask=layer)
# the transparancy layer will be used as the mask
img.save(outfile)