Sto cercando di rendere trasparenti tutti i pixel bianchi utilizzando la libreria di immagini Python. (Sono un hacker C che sta cercando di imparare Python quindi sii gentile) Ho la conversione funzionante (almeno i valori dei pixel sembrano corretti) ma non riesco a capire come convertire la lista in un buffer per ri crea l'immagine. Ecco il codiceUsare PIL per rendere trasparenti tutti i pixel bianchi?
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")
Giusto per potenzialmente al sicuro un po 'di tempo: se si sta lavorando con python3 si deve andare per cuscino (http: //python-pillow.org/) invece di PIL. – davedadizzel