aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-07-08 13:43:42 +0300
committerAUTOMATIC1111 <16777216c@gmail.com>2023-07-08 13:43:42 +0300
commit19772c3c97647bdda76cd7f652ae517840431e88 (patch)
tree15708f21ec67532e1b8be3cebfe152e5ee9d192e /modules
parent16045d087742dfbd1074006616a1e544e93cacd5 (diff)
fix problem with extra network saving images as previews losing generation info
add a description for save_image_with_geninfo
Diffstat (limited to 'modules')
-rw-r--r--modules/images.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/modules/images.py b/modules/images.py
index 1906e2ab..04f55f14 100644
--- a/modules/images.py
+++ b/modules/images.py
@@ -497,13 +497,23 @@ def get_next_sequence_number(path, basename):
return result + 1
-def save_image_with_geninfo(image, geninfo, filename, extension=None, existing_pnginfo=None):
+def save_image_with_geninfo(image, geninfo, filename, extension=None, existing_pnginfo=None, pnginfo_section_name='parameters'):
+ """
+ Saves image to filename, including geninfo as text information for generation info.
+ For PNG images, geninfo is added to existing pnginfo dictionary using the pnginfo_section_name argument as key.
+ For JPG images, there's no dictionary and geninfo just replaces the EXIF description.
+ """
+
if extension is None:
extension = os.path.splitext(filename)[1]
image_format = Image.registered_extensions()[extension]
if extension.lower() == '.png':
+ existing_pnginfo = existing_pnginfo or {}
+ if opts.enable_pnginfo:
+ existing_pnginfo[pnginfo_section_name] = geninfo
+
if opts.enable_pnginfo:
pnginfo_data = PngImagePlugin.PngInfo()
for k, v in (existing_pnginfo or {}).items():
@@ -622,7 +632,7 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
"""
temp_file_path = f"{filename_without_extension}.tmp"
- save_image_with_geninfo(image_to_save, info, temp_file_path, extension, params.pnginfo)
+ save_image_with_geninfo(image_to_save, info, temp_file_path, extension, existing_pnginfo=params.pnginfo, pnginfo_section_name=pnginfo_section_name)
os.replace(temp_file_path, filename_without_extension + extension)