Commit 7b99e14a authored by AUTOMATIC1111's avatar AUTOMATIC1111 Committed by GitHub

Merge pull request #16194 from light-and-ray/fix_cannot_write_mode_P_as_jpeg

fix OSError: cannot write mode P as JPEG
parents 7c8a4cce 3d2dbefc
...@@ -113,7 +113,7 @@ def encode_pil_to_base64(image): ...@@ -113,7 +113,7 @@ def encode_pil_to_base64(image):
image.save(output_bytes, format="PNG", pnginfo=(metadata if use_metadata else None), quality=opts.jpeg_quality) image.save(output_bytes, format="PNG", pnginfo=(metadata if use_metadata else None), quality=opts.jpeg_quality)
elif opts.samples_format.lower() in ("jpg", "jpeg", "webp"): elif opts.samples_format.lower() in ("jpg", "jpeg", "webp"):
if image.mode == "RGBA": if image.mode in ("RGBA", "P"):
image = image.convert("RGB") image = image.convert("RGB")
parameters = image.info.get('parameters', None) parameters = image.info.get('parameters', None)
exif_bytes = piexif.dump({ exif_bytes = piexif.dump({
......
...@@ -162,7 +162,7 @@ class State: ...@@ -162,7 +162,7 @@ class State:
errors.record_exception() errors.record_exception()
def assign_current_image(self, image): def assign_current_image(self, image):
if shared.opts.live_previews_image_format == 'jpeg' and image.mode == 'RGBA': if shared.opts.live_previews_image_format == 'jpeg' and image.mode in ('RGBA', 'P'):
image = image.convert('RGB') image = image.convert('RGB')
self.current_image = image self.current_image = image
self.id_live_preview += 1 self.id_live_preview += 1
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment