@ -346,6 +346,7 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
break
break
def create_exif_bytes ( ) :
def create_exif_bytes ( ) :
def exif_bytes ( ) :
return piexif . dump ( {
return piexif . dump ( {
" Exif " : {
" Exif " : {
piexif . ExifIFD . UserComment : piexif . helper . UserComment . dump ( info or " " , encoding = " unicode " )
piexif . ExifIFD . UserComment : piexif . helper . UserComment . dump ( info or " " , encoding = " unicode " )
@ -353,14 +354,12 @@ 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 = create_exif_bytes ( )
image . save ( fullfn , quality = opts . jpeg_quality )
image . save ( fullfn , quality = opts . jpeg_quality , exif = exif_bytes )
if opts . enable_pnginfo and info is not None :
piexif . insert ( exif_bytes ( ) , fullfn )
else :
else :
image . save ( fullfn , quality = opts . jpeg_quality , pnginfo = pnginfo )
image . save ( fullfn , quality = opts . jpeg_quality , pnginfo = pnginfo )
if extension . lower ( ) == " webp " :
piexif . insert ( exif_bytes , fullfn )
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
if opts . export_for_4chan and ( oversize or os . stat ( fullfn ) . st_size > 4 * 1024 * 1024 ) :
if opts . export_for_4chan and ( oversize or os . stat ( fullfn ) . st_size > 4 * 1024 * 1024 ) :
@ -371,11 +370,9 @@ 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 )
if exif_bytes in locals ( ) :
image . save ( fullfn_without_extension + " .jpg " , quality = opts . jpeg_quality )
pass
if opts . enable_pnginfo and info is not None :
else :
piexif . insert ( exif_bytes ( ) , fullfn )
exif_bytes = create_exif_bytes ( )
image . save ( fullfn_without_extension + " .jpg " , 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 :