diff --git a/src/PIL/JpegImagePlugin.py b/src/PIL/JpegImagePlugin.py index eb0db5bb3..c8ec944b0 100644 --- a/src/PIL/JpegImagePlugin.py +++ b/src/PIL/JpegImagePlugin.py @@ -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() diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index aa2a782c2..25c573673 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -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() diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 81ed550d9..2a5f935eb 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -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"):