Error handling for unsupported transparency
When input images (palette mode) have transparency (bytes) in info, the output images (RGB mode) will inherit it, causing ValueError in Pillow:PIL/PngImagePlugin.py#1364 when trying to unpack this bytes. This commit check the PNG mode and transparency info, removing transparency if it's RGB mode and transparency is bytes
This commit is contained in:
parent
9d5becb4de
commit
9d5dc582be
|
@ -548,6 +548,12 @@ def save_image_with_geninfo(image, geninfo, filename, extension=None, existing_p
|
||||||
else:
|
else:
|
||||||
pnginfo_data = None
|
pnginfo_data = None
|
||||||
|
|
||||||
|
# Error handling for unsupported transparency in RGB mode
|
||||||
|
if (image.mode == "RGB" and
|
||||||
|
"transparency" in image.info and
|
||||||
|
isinstance(image.info["transparency"], bytes)):
|
||||||
|
del image.info["transparency"]
|
||||||
|
|
||||||
image.save(filename, format=image_format, quality=opts.jpeg_quality, pnginfo=pnginfo_data)
|
image.save(filename, format=image_format, quality=opts.jpeg_quality, pnginfo=pnginfo_data)
|
||||||
|
|
||||||
elif extension.lower() in (".jpg", ".jpeg", ".webp"):
|
elif extension.lower() in (".jpg", ".jpeg", ".webp"):
|
||||||
|
|
Loading…
Reference in New Issue