Tengo una imagen png como fondo y quiero agregar una malla transparente a este fondo pero esto no funciona como se esperaba. La imagen de fondo se convierte en transparente en los lugares donde aplico malla transparente.Fusión de fondo con imagen transparente en PIL
que estoy haciendo:
from PIL import Image, ImageDraw
map_background = Image.open(MAP_BACKGROUND_FILE).convert('RGBA')
map_mesh = Image.new('RGBA', (width, height), (0, 0, 0, 0))
draw = ImageDraw.Draw(map_mesh)
# Create mesh using: draw.line([...], fill=(255, 255, 255, 50), width=1)
...
map_background.paste(map_mesh, (0, 0), map_mesh)
pero el resultado es:
se puede ver un patrón de tablero de ajedrez si se fijan bien (utilizado en los programas de gráficos como sin fondo). Las líneas transparentes hacen que la capa de fondo sea transparente también en los lugares donde ambas capas se encontraron. Pero solo quiero que se agregue la línea transparente sobre el fondo.
puedo solucionarlo con:
map_background.paste ((255,255,255), (0, 0), map_mesh)
pero como usar diferentes colores para las diferentes líneas, que tendría que hacer para cada color este proceso. Si tuviera 100 colores, entonces necesito 100 capas, lo que no es una buena solución.
Posible duplicado de http://stackoverflow.com/questions/5324647/how-to-merge-a-transparent-png-image-with-another-image-using- pil –