aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormissionfloyd <missionfloyd@users.noreply.github.com>2023-02-24 20:57:18 -0700
committermissionfloyd <missionfloyd@users.noreply.github.com>2023-02-24 20:57:18 -0700
commitaa108bd02a8282e8213fa6c5967e3c47e49bb43f (patch)
treeb8473fcf748e73008a7550dae105f9e2e3928942
parent0cc0ee1bcb4c24a8c9715f66cede06601bfc00c8 (diff)
Add lossless webp option
-rw-r--r--modules/images.py2
-rw-r--r--modules/shared.py1
2 files changed, 2 insertions, 1 deletions
diff --git a/modules/images.py b/modules/images.py
index 5b80c23e..7df2b08c 100644
--- a/modules/images.py
+++ b/modules/images.py
@@ -556,7 +556,7 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
elif image_to_save.mode == 'I;16':
image_to_save = image_to_save.point(lambda p: p * 0.0038910505836576).convert("RGB" if extension.lower() == ".webp" else "L")
- image_to_save.save(temp_file_path, format=image_format, quality=opts.jpeg_quality)
+ image_to_save.save(temp_file_path, format=image_format, quality=opts.jpeg_quality, lossless=opts.webp_lossless)
if opts.enable_pnginfo and info is not None:
exif_bytes = piexif.dump({
diff --git a/modules/shared.py b/modules/shared.py
index 805f9cc1..51101988 100644
--- a/modules/shared.py
+++ b/modules/shared.py
@@ -327,6 +327,7 @@ options_templates.update(options_section(('saving-images', "Saving images/grids"
"save_images_before_highres_fix": OptionInfo(False, "Save a copy of image before applying highres fix."),
"save_images_before_color_correction": OptionInfo(False, "Save a copy of image before applying color correction to img2img results"),
"jpeg_quality": OptionInfo(80, "Quality for saved jpeg images", gr.Slider, {"minimum": 1, "maximum": 100, "step": 1}),
+ "webp_lossless": OptionInfo(False, "Use lossless compression for webp images"),
"export_for_4chan": OptionInfo(True, "If the saved image file size is above the limit, or its either width or height are above the limit, save a downscaled copy as JPG"),
"img_downscale_threshold": OptionInfo(4.0, "File size limit for the above option, MB", gr.Number),
"target_side_length": OptionInfo(4000, "Width/height limit for the above option, in pixels", gr.Number),