Estoy tratando de hacer que todos los píxeles blancos sean transparentes utilizando la biblioteca de imágenes de Python. (Soy un hacker de C tratando de aprender Python, así que sea gentil) Tengo la conversión funcionando (al menos los valores de píxel parecen correctos) pero no entiendo cómo convertir la lista en un buffer para volver crea la imagen. Aquí está el código¿Usando PIL para hacer transparentes todos los píxeles blancos?
img = Image.open('img.png')
imga = img.convert("RGBA")
datas = imga.getdata()
newData = list()
for item in datas:
if item[0] == 255 and item[1] == 255 and item[2] == 255:
newData.append([255, 255, 255, 0])
else:
newData.append(item)
imgb = Image.frombuffer("RGBA", imga.size, newData, "raw", "RGBA", 0, 1)
imgb.save("img2.png", "PNG")
Sólo para potencialmente a salvo algún tiempo: Si está trabajando con python3 usted tiene que ir para Almohada (http: //python-pillow.org/) en lugar de PIL. – davedadizzel