Ho già dato un'occhiata a questa domanda: SO question e sembrano aver attuato una tecnica molto simile per la sostituzione di un singolo colore compresi i valori alfa:Python: PIL sostituire un singolo colore RGBA
c = Image.open(f)
c = c.convert("RGBA")
w, h = c.size
cnt = 0
for px in c.getdata():
c.putpixel((int(cnt % w), int(cnt/w)), (255, 0, 0, px[3])) cnt += 1
Tuttavia, questo è molto lento. Ho trovato questa ricetta sull'interwebs, ma non ho avuto successo usandolo finora: recipe
Quello che sto cercando di fare è prendere varie immagini PNG che consistono in un singolo colore, bianco. Ogni pixel è bianco al 100% con vari valori alfa, compreso alpha = 0. Ciò che voglio fare è colorare l'immagine con un nuovo colore impostato, ad esempio # ff0000 < 00-ff>. COSÌ le mie immagini iniziali e risultanti apparirebbero come questa dove il lato sinistro è la mia immagine di partenza e la destra è la mia immagine finale (NOTA: lo sfondo è stato modificato in grigio chiaro in modo da poterlo vedere poiché è effettivamente trasparente e non lo si vorrebbe t in grado di vedere i punti a sinistra.)
un modo migliore per fare questo?
Impressionante! Eccezionale! Eccezionale! +1 e contrassegnato come "Accettato". Un enorme risparmio di tempo e risultati sono perfetti. – sberry
@sberry - Felice di aiutare! –
non dovrebbe essere, rosso verde blu? white_areas = – Sekai