Commit bb2732c1 authored by AUTOMATIC's avatar AUTOMATIC

updates for exif comments #446

parent c4e90bf6
...@@ -7,6 +7,7 @@ import modules.gfpgan_model ...@@ -7,6 +7,7 @@ import modules.gfpgan_model
from modules.ui import plaintext_to_html from modules.ui import plaintext_to_html
import modules.codeformer_model import modules.codeformer_model
import piexif import piexif
import piexif.helper
cached_images = {} cached_images = {}
...@@ -80,7 +81,12 @@ def run_pnginfo(image): ...@@ -80,7 +81,12 @@ def run_pnginfo(image):
if "exif" in image.info: if "exif" in image.info:
exif = piexif.load(image.info["exif"]) exif = piexif.load(image.info["exif"])
exif_comment = (exif or {}).get("Exif", {}).get(piexif.ExifIFD.UserComment, b'') 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 items['exif comment'] = exif_comment
for field in ['jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif']: for field in ['jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif']:
......
...@@ -325,7 +325,7 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i ...@@ -325,7 +325,7 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
if extension.lower() in ("jpg", "jpeg", "webp"): if extension.lower() in ("jpg", "jpeg", "webp"):
exif_bytes = piexif.dump({ exif_bytes = piexif.dump({
"Exif": { "Exif": {
piexif.ExifIFD.UserComment: piexif.helper.UserComment.dump(info) piexif.ExifIFD.UserComment: piexif.helper.UserComment.dump(info, encoding="unicode")
}, },
}) })
else: else:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment