aboutsummaryrefslogtreecommitdiff
path: root/modules/images.py
diff options
context:
space:
mode:
authorsemjon00 <semjon.00@gmail.com>2023-07-05 15:39:04 +0300
committersemjon00 <semjon.00@gmail.com>2023-07-05 15:39:04 +0300
commitfb661e089f24a3056b9724c580e3badc214467cc (patch)
treeb78765bbcb91940efe2e31154280517194c7e058 /modules/images.py
parentfab73f2e7d388ca99cdb3d5de7f36c0b9a1a3b1c (diff)
Fix throwing exception when trying to resize image with I;16 mode
Diffstat (limited to 'modules/images.py')
-rw-r--r--modules/images.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/modules/images.py b/modules/images.py
index 1906e2ab..91e3fae2 100644
--- a/modules/images.py
+++ b/modules/images.py
@@ -639,12 +639,18 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
oversize = image.width > opts.target_side_length or image.height > opts.target_side_length
if opts.export_for_4chan and (oversize or os.stat(fullfn).st_size > opts.img_downscale_threshold * 1024 * 1024):
ratio = image.width / image.height
-
+ resize_to = None
if oversize and ratio > 1:
- image = image.resize((round(opts.target_side_length), round(image.height * opts.target_side_length / image.width)), LANCZOS)
+ resize_to = round(opts.target_side_length), round(image.height * opts.target_side_length / image.width)
elif oversize:
- image = image.resize((round(image.width * opts.target_side_length / image.height), round(opts.target_side_length)), LANCZOS)
+ resize_to = round(image.width * opts.target_side_length / image.height), round(opts.target_side_length)
+ if resize_to is not None:
+ try:
+ # Resizing image with LANCZOS could throw an exception if e.g. image mode is I;16
+ image = image.resize(resize_to, LANCZOS)
+ except:
+ image = image.resize(resize_to)
try:
_atomically_save_image(image, fullfn_without_extension, ".jpg")
except Exception as e: