I would like to merge multiple png that I generated with matplotlib into a new png. Now, when I load and save any png with PIL the text gets totally screwed up and becomes unreadable.
from PIL import Image
img_zraw_box = Image.open('tmp_zraw_box0.png')
img_result = Image.new('RGB', (img_zraw_box.width, img_zraw_box.height))
img_result.paste(img_zraw_box, (0, 0))
img_result.save('tmp_zraw_box1.png')
png open, past and saved with PIL:
Has anyone and idea what goes wrong, and how I could fix this? Thank you, Elmar
I think you need to add the mask
parameter to your PIL paste()
call so that the alpha channel is properly respected:
from PIL import Image
img_zraw_box = Image.open('tmp_zraw_box0.png')
# Create a solid white background to paste onto
img_result = Image.new('RGB', (img_zraw_box.width, img_zraw_box.height), color='white')
# Paste with alpha mask
img_result.paste(img_zraw_box, (0, 0), mask=img_zraw_box)
img_result.save('tmp_zraw_box1.png')