aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-02-19 10:01:42 +0300
committerGitHub <noreply@github.com>2023-02-19 10:01:42 +0300
commite572c3ed3871a963849073833c4c162480eb85fb (patch)
treed27e26d26a141674900706656dc040e1bf57eadb
parent164699163718a73a273b86f67a16d3807bccda0e (diff)
parentfe33be6cac140ff83b481029106968f39209cd90 (diff)
Merge pull request #7564 from w-e-w/configurable_image_downscale
Configurable JPG downscale threshold
-rw-r--r--modules/images.py12
-rw-r--r--modules/shared.py4
2 files changed, 13 insertions, 3 deletions
diff --git a/modules/images.py b/modules/images.py
index c2ca8849..34d08b73 100644
--- a/modules/images.py
+++ b/modules/images.py
@@ -575,9 +575,17 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
image.already_saved_as = fullfn
- target_side_length = 4000
+ try:
+ target_side_length = int(opts.target_side_length)
+ except ValueError:
+ target_side_length = 4000
+ try:
+ img_downscale_threshold = float(opts.img_downscale_threshold)
+ except ValueError:
+ img_downscale_threshold = 4
+
oversize = image.width > target_side_length or image.height > target_side_length
- if opts.export_for_4chan and (oversize or os.stat(fullfn).st_size > 4 * 1024 * 1024):
+ if opts.export_for_4chan and (oversize or os.stat(fullfn).st_size > img_downscale_threshold * 1024 * 1024):
ratio = image.width / image.height
if oversize and ratio > 1:
diff --git a/modules/shared.py b/modules/shared.py
index 22344431..d68c366c 100644
--- a/modules/shared.py
+++ b/modules/shared.py
@@ -325,7 +325,9 @@ 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}),
- "export_for_4chan": OptionInfo(True, "If PNG image is larger than 4MB or any dimension is larger than 4000, downscale and save copy as JPG"),
+ "export_for_4chan": OptionInfo(True, "If PNG image is larger than Downscale threshold or any dimension is larger than Target length, downscale the image to dimensions and save a copy as JPG"),
+ "img_downscale_threshold": OptionInfo(4, "Downscale threshold (MB)"),
+ "target_side_length": OptionInfo(4000, "Target length"),
"use_original_name_batch": OptionInfo(True, "Use original name for output filename during batch process in extras tab"),
"use_upscaler_name_as_suffix": OptionInfo(False, "Use upscaler name as filename suffix in the extras tab"),