From 78e265d8c277ebd0b130006422ad71ebe1e2b28e Mon Sep 17 00:00:00 2001 From: patrick-immometrica Date: Sun, 15 Nov 2026 15:38:06 +0100 Subject: [PATCH] Use ImageOps.invert() when saving 1 mode TIFF with WhiteIsZero --- src/PIL/TiffImagePlugin.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 477a0813737..ad12c8e85a9 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1953,16 +1953,7 @@ def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: if PHOTOMETRIC_INTERPRETATION not in ifd: ifd[PHOTOMETRIC_INTERPRETATION] = photo elif im.mode in ("1", "L") and ifd[PHOTOMETRIC_INTERPRETATION] == 0: - if im.mode == "1": - inverted_im = im.copy() - px = inverted_im.load() - if px is not None: - for y in range(inverted_im.height): - for x in range(inverted_im.width): - px[x, y] = 0 if px[x, y] == 255 else 255 - im = inverted_im - else: - im = ImageOps.invert(im) + im = ImageOps.invert(im) if im.mode in ["P", "PA"]: lut = im.im.getpalette("RGB;L")