Replace tiff_jpeg with jpeg compression when saving

This commit is contained in:
Andrew Murray 2020-05-15 22:37:13 +10:00
parent 4634eafe3c
commit aa1761bc9f
2 changed files with 11 additions and 0 deletions

View File

@ -448,6 +448,14 @@ class TestFileLibTiff(LibTiffTestCase):
assert size_compressed > size_jpeg assert size_compressed > size_jpeg
assert size_jpeg > size_jpeg_30 assert size_jpeg > size_jpeg_30
def test_tiff_jpeg_compression(self, tmp_path):
im = hopper("RGB")
out = str(tmp_path / "temp.tif")
im.save(out, compression="tiff_jpeg")
with Image.open(out) as reloaded:
assert reloaded.info["compression"] == "jpeg"
def test_quality(self, tmp_path): def test_quality(self, tmp_path):
im = hopper("RGB") im = hopper("RGB")
out = str(tmp_path / "temp.tif") out = str(tmp_path / "temp.tif")

View File

@ -1427,6 +1427,9 @@ def _save(im, fp, filename):
compression = im.encoderinfo.get("compression", im.info.get("compression")) compression = im.encoderinfo.get("compression", im.info.get("compression"))
if compression is None: if compression is None:
compression = "raw" compression = "raw"
elif compression == "tiff_jpeg":
# OJPEG is obsolete, so use new-style JPEG compression instead
compression = "jpeg"
libtiff = WRITE_LIBTIFF or compression != "raw" libtiff = WRITE_LIBTIFF or compression != "raw"