fix OSError: cannot write mode P as JPEG

This commit is contained in:
Andray 2024-07-11 23:54:25 +04:00
parent 1da4907927
commit 3d2dbefcde
2 changed files with 2 additions and 2 deletions

View File

@ -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({

View File

@ -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