diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/extras.py | 8 | ||||
-rw-r--r-- | modules/images.py | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/modules/extras.py b/modules/extras.py index 55a782c7..e3c7d3e5 100644 --- a/modules/extras.py +++ b/modules/extras.py @@ -7,6 +7,7 @@ import modules.gfpgan_model from modules.ui import plaintext_to_html
import modules.codeformer_model
import piexif
+import piexif.helper
cached_images = {}
@@ -80,7 +81,12 @@ def run_pnginfo(image): if "exif" in image.info:
exif = piexif.load(image.info["exif"])
exif_comment = (exif or {}).get("Exif", {}).get(piexif.ExifIFD.UserComment, b'')
- exif_comment = exif_comment.decode("utf8", 'ignore')
+ try:
+ exif_comment = piexif.helper.UserComment.load(exif_comment)
+ except ValueError:
+ exif_comment = exif_comment.decode('utf8', errors="ignore")
+
+
items['exif comment'] = exif_comment
for field in ['jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif']:
diff --git a/modules/images.py b/modules/images.py index db68f405..960f25c2 100644 --- a/modules/images.py +++ b/modules/images.py @@ -325,7 +325,7 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i if extension.lower() in ("jpg", "jpeg", "webp"):
exif_bytes = piexif.dump({
"Exif": {
- piexif.ExifIFD.UserComment: piexif.helper.UserComment.dump(info)
+ piexif.ExifIFD.UserComment: piexif.helper.UserComment.dump(info, encoding="unicode")
},
})
else:
|