ya he echado un vistazo a esta pregunta: SO question y parecen haber implementado una técnica muy similar para la sustitución de un solo color incluyendo los valores alfa:Python: PIL reemplazar un solo color 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
Sin embargo, esto es muy lento Encontré esta receta en los interwebs, pero no he tenido éxito al usarla hasta ahora: recipe
Lo que intento hacer es tomar varias imágenes PNG que consisten en un solo color, blanco. Cada píxel es 100% blanco con varios valores alfa, incluido alfa = 0. Lo que quiero hacer es básicamente colorear la imagen con un nuevo color configurado, por ejemplo # ff0000 < 00-ff>. Así que mis imágenes iniciales y resultantes se verían así, donde el lado izquierdo es mi imagen inicial y el derecho es mi imagen final (NOTA: el fondo se ha cambiado a un gris claro para que pueda verlo, ya que es realmente transparente y no lo haría) t ser capaz de ver los puntos de la izquierda.)
Cualquier mejor manera de hacer esto?
impresionante! ¡Increíble! ¡Increíble! +1 y marcado como "Aceptado". Enorme ahorro de tiempo y los resultados son perfectos. – sberry
@sberry - ¡Me alegra ayudar! –
no debería ser, Rojo, Verde, Azul? white_areas = – Sekai