Change exif behaviour of plugins for jpeg, tiff and webp to the behaviour of png plugin, i.e. use im.info.get("exif") as a fallback for im.encoderinfo.get("exif")

This commit is contained in:
Mathias Graf 2022-12-15 09:12:41 +01:00
parent f4b1244213
commit 825a54ca31
3 changed files with 5 additions and 6 deletions

View File

@ -746,7 +746,7 @@ def _save(im, fp, filename):
optimize = info.get("optimize", False)
exif = info.get("exif", b"")
exif = info.get("exif", im.info.get("exif", b""))
if isinstance(exif, Image.Exif):
exif = exif.tobytes()

View File

@ -1601,14 +1601,13 @@ def _save(im, fp, filename):
# write any arbitrary tags passed in as an ImageFileDirectory
if "tiffinfo" in encoderinfo:
info = encoderinfo["tiffinfo"]
elif "exif" in encoderinfo:
info = encoderinfo["exif"]
else:
info = encoderinfo.get("exif", im.info.get("exif", b""))
if isinstance(info, bytes):
exif = Image.Exif()
exif.load(info)
info = exif
else:
info = {}
logger.debug("Tiffinfo Keys: %s" % list(info))
if isinstance(info, ImageFileDirectory_v1):
info = info.to_v2()

View File

@ -320,7 +320,7 @@ def _save(im, fp, filename):
lossless = im.encoderinfo.get("lossless", False)
quality = im.encoderinfo.get("quality", 80)
icc_profile = im.encoderinfo.get("icc_profile") or ""
exif = im.encoderinfo.get("exif", b"")
exif = im.encoderinfo.get("exif", im.info.get("exif", b""))
if isinstance(exif, Image.Exif):
exif = exif.tobytes()
if exif.startswith(b"Exif\x00\x00"):