mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2024-06-07 21:20:49 +00:00
add metadata to jpg and non-png image files
* needs a piexif module install * dumps the info in an Exif "UserComment" * update to webui.bat
This commit is contained in:
parent
55e08dd61f
commit
34cf684419
@ -5,6 +5,8 @@ from collections import namedtuple
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
import piexif
|
||||||
|
import piexif.helper
|
||||||
from PIL import Image, ImageFont, ImageDraw, PngImagePlugin
|
from PIL import Image, ImageFont, ImageDraw, PngImagePlugin
|
||||||
from fonts.ttf import Roboto
|
from fonts.ttf import Roboto
|
||||||
import string
|
import string
|
||||||
@ -323,7 +325,14 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
|
|||||||
if not os.path.exists(fullfn):
|
if not os.path.exists(fullfn):
|
||||||
break
|
break
|
||||||
|
|
||||||
image.save(fullfn, quality=opts.jpeg_quality, pnginfo=pnginfo)
|
if extension == "png":
|
||||||
|
image.save(fullfn, quality=opts.jpeg_quality, pnginfo=pnginfo)
|
||||||
|
else:
|
||||||
|
exif_dict = { "Exif" : dict() }
|
||||||
|
exif_dict["Exif"][piexif.ExifIFD.UserComment] = piexif.helper.UserComment.dump(
|
||||||
|
info, encoding="unicode")
|
||||||
|
exif_bytes = piexif.dump(exif_dict)
|
||||||
|
image.save(fullfn, quality=opts.jpeg_quality, exif=exif_bytes)
|
||||||
|
|
||||||
target_side_length = 4000
|
target_side_length = 4000
|
||||||
oversize = image.width > target_side_length or image.height > target_side_length
|
oversize = image.width > target_side_length or image.height > target_side_length
|
||||||
@ -335,7 +344,7 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
|
|||||||
elif oversize:
|
elif oversize:
|
||||||
image = image.resize((image.width * target_side_length // image.height, target_side_length), LANCZOS)
|
image = image.resize((image.width * target_side_length // image.height, target_side_length), LANCZOS)
|
||||||
|
|
||||||
image.save(f"{fullfn_without_extension}.jpg", quality=opts.jpeg_quality, pnginfo=pnginfo)
|
image.save(fullfn, quality=opts.jpeg_quality, exif=exif_bytes)
|
||||||
|
|
||||||
if opts.save_txt and info is not None:
|
if opts.save_txt and info is not None:
|
||||||
with open(f"{fullfn_without_extension}.txt", "w", encoding="utf8") as file:
|
with open(f"{fullfn_without_extension}.txt", "w", encoding="utf8") as file:
|
||||||
|
Loading…
Reference in New Issue
Block a user