From 7f275c1bfc167ab3a5af6c062d112fae6a0a7bbb Mon Sep 17 00:00:00 2001 From: Roger Baumgartner Date: Tue, 29 Jun 2021 18:07:29 -0700 Subject: [PATCH 001/110] Create BoxReader helper class to parse JPEG2000 header --- src/PIL/Jpeg2KImagePlugin.py | 115 ++++++++++++++++++++++++++--------- 1 file changed, 85 insertions(+), 30 deletions(-) diff --git a/src/PIL/Jpeg2KImagePlugin.py b/src/PIL/Jpeg2KImagePlugin.py index 0b0d433db..5f416afef 100644 --- a/src/PIL/Jpeg2KImagePlugin.py +++ b/src/PIL/Jpeg2KImagePlugin.py @@ -19,6 +19,79 @@ import struct from . import Image, ImageFile +class BoxReader: + """ + A small helper class to read fields stored in JPEG2000 header boxes + and to easily step into and read sub-boxes. + """ + + def __init__(self, fp, length=-1): + self.fp = fp + self.has_length = length >= 0 + self.length = length + self.remaining_in_box = -1 + + def _can_read(self, num_bytes): + if self.remaining_in_box >= 0: + # Inside box contents: ensure read does not go past box boundaries + return num_bytes <= self.remaining_in_box + elif self.has_length: + # Outside box: ensure we don't read past the known file length + return self.fp.tell() + num_bytes <= self.length + else: + return True # No length known, just read + + def _read_bytes(self, num_bytes): + if not self._can_read(num_bytes): + raise SyntaxError("Not enough data in header") + + data = self.fp.read(num_bytes) + if len(data) < num_bytes: + raise OSError( + f"Expected to read {num_bytes} bytes but only got {len(data)}." + ) + + if self.remaining_in_box > 0: + self.remaining_in_box -= num_bytes + return data + + def read_fields(self, field_format): + size = struct.calcsize(field_format) + data = self._read_bytes(size) + return struct.unpack(field_format, data) + + def read_boxes(self): + size = self.remaining_in_box + data = self._read_bytes(size) + return BoxReader(io.BytesIO(data), size) + + def has_next_box(self): + if self.has_length: + return self.fp.tell() + self.remaining_in_box < self.length + else: + return True + + def next_box_type(self): + # Skip the rest of the box if it has not been read + if self.remaining_in_box > 0: + self.fp.seek(self.remaining_in_box, os.SEEK_CUR) + self.remaining_in_box = -1 + + # Read the length and type of the next box + lbox, tbox = self.read_fields(">I4s") + if lbox == 1: + lbox = self.read_fields(">Q")[0] + hlen = 16 + else: + hlen = 8 + + if lbox < hlen or not self._can_read(lbox - hlen): + raise SyntaxError("Invalid header length") + + self.remaining_in_box = lbox - hlen + return tbox + + def _parse_codestream(fp): """Parse the JPEG 2000 codestream to extract the size and component count from the SIZ marker segment, returning a PIL (size, mode) tuple.""" @@ -58,50 +131,32 @@ def _parse_jp2_header(fp): color space information, returning a (size, mode, mimetype) tuple.""" # Find the JP2 header box + reader = BoxReader(fp) header = None mimetype = None - while True: - lbox, tbox = struct.unpack(">I4s", fp.read(8)) - if lbox == 1: - lbox = struct.unpack(">Q", fp.read(8))[0] - hlen = 16 - else: - hlen = 8 - - if lbox < hlen: - raise SyntaxError("Invalid JP2 header length") + while reader.has_next_box(): + tbox = reader.next_box_type() if tbox == b"jp2h": - header = fp.read(lbox - hlen) + header = reader.read_boxes() break elif tbox == b"ftyp": - if fp.read(4) == b"jpx ": + if reader.read_fields(">4s")[0] == b"jpx ": mimetype = "image/jpx" - fp.seek(lbox - hlen - 4, os.SEEK_CUR) - else: - fp.seek(lbox - hlen, os.SEEK_CUR) if header is None: - raise SyntaxError("could not find JP2 header") + raise SyntaxError("Could not find JP2 header") size = None mode = None bpc = None nc = None - hio = io.BytesIO(header) - while True: - lbox, tbox = struct.unpack(">I4s", hio.read(8)) - if lbox == 1: - lbox = struct.unpack(">Q", hio.read(8))[0] - hlen = 16 - else: - hlen = 8 - - content = hio.read(lbox - hlen) + while header.has_next_box(): + tbox = header.next_box_type() if tbox == b"ihdr": - height, width, nc, bpc, c, unkc, ipr = struct.unpack(">IIHBBBB", content) + height, width, nc, bpc, c, unkc, ipr = header.read_fields(">IIHBBBB") size = (width, height) if unkc: if nc == 1 and (bpc & 0x7F) > 8: @@ -116,9 +171,9 @@ def _parse_jp2_header(fp): mode = "RGBA" break elif tbox == b"colr": - meth, prec, approx = struct.unpack_from(">BBB", content) + meth, prec, approx = header.read_fields(">BBB") if meth == 1: - cs = struct.unpack_from(">I", content, 3)[0] + cs = header.read_fields(">I")[0] if cs == 16: # sRGB if nc == 1 and (bpc & 0x7F) > 8: mode = "I;16" @@ -145,7 +200,7 @@ def _parse_jp2_header(fp): break if size is None or mode is None: - raise SyntaxError("Malformed jp2 header") + raise SyntaxError("Malformed JP2 header") return (size, mode, mimetype) From 5f4653d0b477fd9f71329427bdf4165413400056 Mon Sep 17 00:00:00 2001 From: Roger Baumgartner Date: Wed, 30 Jun 2021 05:53:11 -0700 Subject: [PATCH 002/110] Attempt to read dpi information from JPEG2000's resc header box --- Tests/test_file_jpeg2k.py | 5 +++++ src/PIL/Jpeg2KImagePlugin.py | 40 ++++++++++++++++++++++++++++-------- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/Tests/test_file_jpeg2k.py b/Tests/test_file_jpeg2k.py index 20280a579..1af73a767 100644 --- a/Tests/test_file_jpeg2k.py +++ b/Tests/test_file_jpeg2k.py @@ -151,6 +151,11 @@ def test_reduce(): assert im.size == (40, 30) +def test_load_dpi(): + with Image.open("Tests/images/test-card-lossless.jp2") as im: + assert im.info["dpi"] == (71.9836, 71.9836) + + def test_layers_type(tmp_path): outfile = str(tmp_path / "temp_layers.jp2") for quality_layers in [[100, 50, 10], (100, 50, 10), None]: diff --git a/src/PIL/Jpeg2KImagePlugin.py b/src/PIL/Jpeg2KImagePlugin.py index 5f416afef..bbcfc0ef9 100644 --- a/src/PIL/Jpeg2KImagePlugin.py +++ b/src/PIL/Jpeg2KImagePlugin.py @@ -6,6 +6,7 @@ # # History: # 2014-03-12 ajh Created +# 2021-06-30 rogermb Extract dpi information from the 'resc' header box # # Copyright (c) 2014 Coriolis Systems Limited # Copyright (c) 2014 Alastair Houghton @@ -126,9 +127,21 @@ def _parse_codestream(fp): return (size, mode) +def _res_to_dpi(num, denom, exp): + """Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution, + calculated as (num / denom) * 10^exp and stored in dots per meter, + to floating-point dots per inch.""" + if num == 0 or denom == 0: + raise SyntaxError( + f"Invalid JP2 resolution information: ({num} / {denom}) * 10^{exp}" + ) + return (254 * num * (10 ** exp)) / (10000 * denom) + + def _parse_jp2_header(fp): - """Parse the JP2 header box to extract size, component count and - color space information, returning a (size, mode, mimetype) tuple.""" + """Parse the JP2 header box to extract size, component count, + color space information, and optionally DPI information, + returning a (size, mode, mimetype, dpi) tuple.""" # Find the JP2 header box reader = BoxReader(fp) @@ -151,6 +164,8 @@ def _parse_jp2_header(fp): mode = None bpc = None nc = None + dpi = None # 2-tuple of DPI info, or None + unkc = 0 # Colorspace information unknown while header.has_next_box(): tbox = header.next_box_type() @@ -169,10 +184,9 @@ def _parse_jp2_header(fp): mode = "RGB" elif nc == 4: mode = "RGBA" - break elif tbox == b"colr": meth, prec, approx = header.read_fields(">BBB") - if meth == 1: + if meth == 1 and unkc == 0: cs = header.read_fields(">I")[0] if cs == 16: # sRGB if nc == 1 and (bpc & 0x7F) > 8: @@ -183,7 +197,6 @@ def _parse_jp2_header(fp): mode = "RGB" elif nc == 4: mode = "RGBA" - break elif cs == 17: # grayscale if nc == 1 and (bpc & 0x7F) > 8: mode = "I;16" @@ -191,18 +204,25 @@ def _parse_jp2_header(fp): mode = "L" elif nc == 2: mode = "LA" - break elif cs == 18: # sYCC if nc == 3: mode = "RGB" elif nc == 4: mode = "RGBA" - break + elif tbox == b"res ": + res = header.read_boxes() + while res.has_next_box(): + tres = res.next_box_type() + if tres == b"resc": + vrcn, vrcd, hrcn, hrcd, vrce, hrce = res.read_fields(">HHHHBB") + hres = _res_to_dpi(hrcn, hrcd, hrce) + vres = _res_to_dpi(vrcn, vrcd, vrce) + dpi = (hres, vres) if size is None or mode is None: raise SyntaxError("Malformed JP2 header") - return (size, mode, mimetype) + return (size, mode, mimetype, dpi) ## @@ -224,7 +244,9 @@ class Jpeg2KImageFile(ImageFile.ImageFile): if sig == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a": self.codec = "jp2" header = _parse_jp2_header(self.fp) - self._size, self.mode, self.custom_mimetype = header + self._size, self.mode, self.custom_mimetype, dpi = header + if dpi is not None: + self.info["dpi"] = dpi else: raise SyntaxError("not a JPEG 2000 file") From 1c03526b6527df9f2d206708ce16b721aad06538 Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Thu, 1 Jul 2021 13:09:40 +0200 Subject: [PATCH 003/110] Make Image.__array__ take optional dtype argument This is required by the numpy protocol. --- Tests/test_image_array.py | 7 +++++++ src/PIL/Image.py | 7 +++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Tests/test_image_array.py b/Tests/test_image_array.py index 4dbbdd218..c4e124ee5 100644 --- a/Tests/test_image_array.py +++ b/Tests/test_image_array.py @@ -14,6 +14,10 @@ def test_toarray(): ai = numpy.array(im.convert(mode)) return ai.shape, ai.dtype.str, ai.nbytes + def test_with_dtype(dtype): + ai = numpy.array(im, dtype=dtype) + assert ai.dtype == dtype + # assert test("1") == ((100, 128), '|b1', 1600)) assert test("L") == ((100, 128), "|u1", 12800) @@ -27,6 +31,9 @@ def test_toarray(): assert test("RGBA") == ((100, 128, 4), "|u1", 51200) assert test("RGBX") == ((100, 128, 4), "|u1", 51200) + test_with_dtype(numpy.float) + test_with_dtype(numpy.uint8) + with Image.open("Tests/images/truncated_jpeg.jpg") as im_truncated: with pytest.raises(OSError): numpy.array(im_truncated) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 9debddeec..98dfec726 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -681,7 +681,7 @@ class Image: raise ValueError("Could not save to PNG for display") from e return b.getvalue() - def __array__(self): + def __array__(self, dtype=None): # numpy array interface support import numpy as np @@ -700,7 +700,10 @@ class Image: class ArrayData: __array_interface__ = new - return np.array(ArrayData()) + arr = np.array(ArrayData()) + if dtype is not None: + arr = arr.astype(dtype) + return arr def __getstate__(self): return [self.info, self.mode, self.size, self.getpalette(), self.tobytes()] From 73f6cf22f345065ad0463fcdb2a41b213b000df4 Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Thu, 1 Jul 2021 14:06:13 +0200 Subject: [PATCH 004/110] Use numpy.float64 instead of numpy.float to avoid deprecation (thank you radarhere) --- Tests/test_image_array.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_image_array.py b/Tests/test_image_array.py index c4e124ee5..850dc2aaa 100644 --- a/Tests/test_image_array.py +++ b/Tests/test_image_array.py @@ -31,7 +31,7 @@ def test_toarray(): assert test("RGBA") == ((100, 128, 4), "|u1", 51200) assert test("RGBX") == ((100, 128, 4), "|u1", 51200) - test_with_dtype(numpy.float) + test_with_dtype(numpy.float64) test_with_dtype(numpy.uint8) with Image.open("Tests/images/truncated_jpeg.jpg") as im_truncated: From 8d1b433c76c8aea0416224e99f58782d793f5925 Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Thu, 1 Jul 2021 14:08:51 +0200 Subject: [PATCH 005/110] Use numpy.array with dtype Thank you @radarhere. Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- src/PIL/Image.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 98dfec726..6017882aa 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -700,10 +700,7 @@ class Image: class ArrayData: __array_interface__ = new - arr = np.array(ArrayData()) - if dtype is not None: - arr = arr.astype(dtype) - return arr + return np.array(ArrayData(), dtype) def __getstate__(self): return [self.info, self.mode, self.size, self.getpalette(), self.tobytes()] From 9688507193eec047c78adb70dda82b9de7afe7bb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 5 Jul 2021 23:02:26 +1000 Subject: [PATCH 006/110] Removed variable --- src/PIL/Image.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 6017882aa..124ca392b 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1832,18 +1832,16 @@ class Image: if source_palette is None: if self.mode == "P": self.load() - real_source_palette = self.im.getpalette("RGB")[:768] + source_palette = self.im.getpalette("RGB")[:768] else: # L-mode - real_source_palette = bytearray(i // 3 for i in range(768)) - else: - real_source_palette = source_palette + source_palette = bytearray(i // 3 for i in range(768)) palette_bytes = b"" new_positions = [0] * 256 # pick only the used colors from the palette for i, oldPosition in enumerate(dest_map): - palette_bytes += real_source_palette[oldPosition * 3 : oldPosition * 3 + 3] + palette_bytes += source_palette[oldPosition * 3 : oldPosition * 3 + 3] new_positions[oldPosition] = i # replace the palette color id of all pixel with the new id From 917a598615bf3b0ceabdd3258101b4f31c647e2b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 6 Jul 2021 10:37:28 +1000 Subject: [PATCH 007/110] Handle removing orientation from alternate types of EXIF data --- Tests/images/exif_imagemagick_orientation.png | Bin 0 -> 179399 bytes Tests/test_imageops.py | 22 ++++++++++++++++++ src/PIL/ImageOps.py | 17 ++++++++++++-- 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 Tests/images/exif_imagemagick_orientation.png diff --git a/Tests/images/exif_imagemagick_orientation.png b/Tests/images/exif_imagemagick_orientation.png new file mode 100644 index 0000000000000000000000000000000000000000..819a0703f839d77643f1170567dba445db1fa173 GIT binary patch literal 179399 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

GFpb@-RI8MV9rh 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�KWjh2zH{ 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≤I!-q&_SSksMe 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 F{{!g1K$8Ff literal 0 HcmV?d00001 diff --git a/Tests/images/invalid_header_length.jp2 b/Tests/images/invalid_header_length.jp2 new file mode 100644 index 0000000000000000000000000000000000000000..c0c14f42160abb77dab5dd062810de30a85ad1f3 GIT binary patch literal 134081 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

GFpb@-RI8MV9rh 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�KWjh2zH{ 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≤I!-q&_SSksMe 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 F{{xPzK%xKu literal 0 HcmV?d00001 diff --git a/Tests/images/not_enough_data.jp2 b/Tests/images/not_enough_data.jp2 new file mode 100644 index 0000000000000000000000000000000000000000..2d28bb5e96ba0f688a003166657fd98f24bdb846 GIT binary patch literal 134081 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

GFpb@-RI8MV9rh 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�KWjh2zH{ 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≤I!-q&_SSksMe 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 F{{!g5K$8Ff literal 0 HcmV?d00001 diff --git a/Tests/test_file_jpeg2k.py b/Tests/test_file_jpeg2k.py index 779d246e9..2abb2bcfb 100644 --- a/Tests/test_file_jpeg2k.py +++ b/Tests/test_file_jpeg2k.py @@ -4,7 +4,7 @@ from io import BytesIO import pytest -from PIL import Image, ImageFile, Jpeg2KImagePlugin, features +from PIL import Image, ImageFile, Jpeg2KImagePlugin, UnidentifiedImageError, features from .helper import ( assert_image_equal, @@ -159,6 +159,20 @@ def test_load_dpi(): assert "dpi" not in im.info +def test_header_errors(): + for path in ( + "Tests/images/invalid_header_length.jp2", + "Tests/images/not_enough_data.jp2", + ): + with pytest.raises(UnidentifiedImageError): + with Image.open(path): + pass + + with pytest.raises(OSError): + with Image.open("Tests/images/expected_to_read.jp2"): + pass + + def test_layers_type(tmp_path): outfile = str(tmp_path / "temp_layers.jp2") for quality_layers in [[100, 50, 10], (100, 50, 10), None]: From 8ab06b4daccedd23880f5ffa7bf5d734d46fe1d8 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 1 Aug 2021 21:06:33 +1000 Subject: [PATCH 060/110] Updated comment [ci skip] --- src/PIL/JpegImagePlugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/JpegImagePlugin.py b/src/PIL/JpegImagePlugin.py index 7d3cbbf49..b8674eeed 100644 --- a/src/PIL/JpegImagePlugin.py +++ b/src/PIL/JpegImagePlugin.py @@ -172,7 +172,7 @@ def APP(self, marker): # SyntaxError for invalid/unreadable EXIF # KeyError for dpi not included # ZeroDivisionError for invalid dpi rational value - # ValueError for dpi being an invalid float + # ValueError or TypeError for dpi being an invalid float self.info["dpi"] = 72, 72 From 9f42a17b2d03631a8131ae0f7ebc27bed6309482 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 2 Aug 2021 21:42:03 +1000 Subject: [PATCH 061/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 6c2ba804d..13afddc62 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Catch TypeError from corrupted DPI value in EXIF #5639 + [homm, radarhere] + - Do not close file pointer when saving SGI images #5645 [farizrahman4u, radarhere] From dab5721c344dd056a32527a6fd1d0a22f4bbd990 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 2 Aug 2021 22:09:35 +1000 Subject: [PATCH 062/110] Favour integer operations when calculating DPI --- src/PIL/Jpeg2KImagePlugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/Jpeg2KImagePlugin.py b/src/PIL/Jpeg2KImagePlugin.py index 6f25c3390..0904b241b 100644 --- a/src/PIL/Jpeg2KImagePlugin.py +++ b/src/PIL/Jpeg2KImagePlugin.py @@ -132,7 +132,7 @@ def _res_to_dpi(num, denom, exp): calculated as (num / denom) * 10^exp and stored in dots per meter, to floating-point dots per inch.""" if denom != 0: - return num / denom * (10 ** exp) * 0.0254 + return (254 * num * (10 ** exp)) / (10000 * denom) def _parse_jp2_header(fp): From 4f43851071bd43ce7c7670773c18a04f6405537b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 3 Aug 2021 00:03:53 +1000 Subject: [PATCH 063/110] Added release notes [ci skip] --- docs/releasenotes/8.4.0.rst | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/releasenotes/8.4.0.rst b/docs/releasenotes/8.4.0.rst index 42e57745b..74b7d4438 100644 --- a/docs/releasenotes/8.4.0.rst +++ b/docs/releasenotes/8.4.0.rst @@ -35,7 +35,13 @@ TODO Other Changes ============= -TODO -^^^^ +Speed improvement when rotating square images +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TODO +Starting with Pillow 3.3.0, the speed of rotating images by 90 or 270 degrees was +improved by quickly returning :py:meth:`~PIL.Image.Image.transpose` instead, if the +rotate operation allowed for expansion and did not specify a center or post-rotate +translation. + +Since the ``expand`` flag makes no difference for square images though, Pillow now +uses this faster method for square images without the ``expand`` flag as well. From 633d5d57f41aeded087eee08c44210a1cc0a1b09 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 3 Aug 2021 00:07:22 +1000 Subject: [PATCH 064/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 13afddc62..b107e83e8 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Add support for reading DPI information from JPEG2000 images + [rogermb, radarhere] + - Catch TypeError from corrupted DPI value in EXIF #5639 [homm, radarhere] From b8b4bf425d3fac636b143971ddb3af36cc9b69eb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 3 Aug 2021 08:02:40 +1000 Subject: [PATCH 065/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index b107e83e8..d43a41d70 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Speed up rotating square images by 90 or 270 degrees #5646 + [radarhere] + - Add support for reading DPI information from JPEG2000 images [rogermb, radarhere] From 259c671a559bc3f5468e38a9af5661ebdc448a13 Mon Sep 17 00:00:00 2001 From: nulano Date: Mon, 2 Aug 2021 23:17:44 +0200 Subject: [PATCH 066/110] hide FriBiDi shim symbols to avoid conflict with real FriBiDi library --- src/thirdparty/fribidi-shim/fribidi.c | 4 ++-- src/thirdparty/fribidi-shim/fribidi.h | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/thirdparty/fribidi-shim/fribidi.c b/src/thirdparty/fribidi-shim/fribidi.c index abbab07b0..76fd5b9a4 100644 --- a/src/thirdparty/fribidi-shim/fribidi.c +++ b/src/thirdparty/fribidi-shim/fribidi.c @@ -12,7 +12,7 @@ /* FriBiDi>=1.0.0 adds bracket_types param, ignore and call legacy function */ -FriBidiLevel fribidi_get_par_embedding_levels_ex_compat( +static FriBidiLevel fribidi_get_par_embedding_levels_ex_compat( const FriBidiCharType *bidi_types, const FriBidiBracketType *bracket_types, const FriBidiStrIndex len, @@ -24,7 +24,7 @@ FriBidiLevel fribidi_get_par_embedding_levels_ex_compat( } /* FriBiDi>=1.0.0 gets bracket types here, ignore */ -void fribidi_get_bracket_types_compat( +static void fribidi_get_bracket_types_compat( const FriBidiChar *str, const FriBidiStrIndex len, const FriBidiCharType *types, diff --git a/src/thirdparty/fribidi-shim/fribidi.h b/src/thirdparty/fribidi-shim/fribidi.h index 7712a5b22..7e175c3db 100644 --- a/src/thirdparty/fribidi-shim/fribidi.h +++ b/src/thirdparty/fribidi-shim/fribidi.h @@ -63,8 +63,12 @@ typedef uint32_t FriBidiParType; /* functions */ #ifdef FRIBIDI_SHIM_IMPLEMENTATION +#ifdef _MSC_VER #define FRIBIDI_ENTRY #else +#define FRIBIDI_ENTRY __attribute__((visibility ("hidden"))) +#endif +#else #define FRIBIDI_ENTRY extern #endif From 6596e31605b7916610a69c491d76114f2058fede Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 5 Aug 2021 01:06:01 +1000 Subject: [PATCH 067/110] Determine mode purely from ihdr header box --- Tests/images/balloon_eciRGBv2_aware.jp2 | Bin 0 -> 7419 bytes Tests/test_file_jpeg2k.py | 10 +++++ src/PIL/Jpeg2KImagePlugin.py | 49 ++++++------------------ 3 files changed, 21 insertions(+), 38 deletions(-) create mode 100644 Tests/images/balloon_eciRGBv2_aware.jp2 diff --git a/Tests/images/balloon_eciRGBv2_aware.jp2 b/Tests/images/balloon_eciRGBv2_aware.jp2 new file mode 100644 index 0000000000000000000000000000000000000000..18fd1e1723de3237802ecf53839ac530d5321822 GIT binary patch literal 7419 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") + height, width, nc, bpc = header.read_fields(">IIHB") size = (width, height) - if unkc: - if nc == 1 and (bpc & 0x7F) > 8: - mode = "I;16" - elif nc == 1: - mode = "L" - elif nc == 2: - mode = "LA" - elif nc == 3: - mode = "RGB" - elif nc == 4: - mode = "RGBA" - elif tbox == b"colr": - meth, prec, approx = header.read_fields(">BBB") - if meth == 1 and unkc == 0: - cs = header.read_fields(">I")[0] - if cs == 16: # sRGB - if nc == 1 and (bpc & 0x7F) > 8: - mode = "I;16" - elif nc == 1: - mode = "L" - elif nc == 3: - mode = "RGB" - elif nc == 4: - mode = "RGBA" - elif cs == 17: # grayscale - if nc == 1 and (bpc & 0x7F) > 8: - mode = "I;16" - elif nc == 1: - mode = "L" - elif nc == 2: - mode = "LA" - elif cs == 18: # sYCC - if nc == 3: - mode = "RGB" - elif nc == 4: - mode = "RGBA" + if nc == 1 and (bpc & 0x7F) > 8: + mode = "I;16" + elif nc == 1: + mode = "L" + elif nc == 2: + mode = "LA" + elif nc == 3: + mode = "RGB" + elif nc == 4: + mode = "RGBA" elif tbox == b"res ": res = header.read_boxes() while res.has_next_box(): From 2dab52b8a8cc4e139a29ca78762079e573d32c31 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 5 Aug 2021 23:27:08 +1000 Subject: [PATCH 068/110] Allow saving 1 mode TIFF with PhotometricInterpretation 0 --- Tests/test_file_tiff.py | 8 ++++++++ src/PIL/TiffImagePlugin.py | 32 +++++++++++++++++++++----------- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 57f45bd09..a475c55b9 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -447,6 +447,14 @@ class TestFileTiff: im.seek(1) assert im.getexif()[273] == (1408, 1907) + def test_photometric(self, tmp_path): + filename = str(tmp_path / "temp.tif") + im = hopper("1") + im.save(filename, tiffinfo={262: 0}) + with Image.open(filename) as reloaded: + assert reloaded.tag_v2[262] == 0 + assert_image_equal(im, reloaded) + def test_seek(self): filename = "Tests/images/pil136.tiff" with Image.open(filename) as im: diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 6df4c361a..2858694f8 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1487,7 +1487,9 @@ def _save(im, fp, filename): ifd = ImageFileDirectory_v2(prefix=prefix) - compression = im.encoderinfo.get("compression", im.info.get("compression")) + encoderinfo = im.encoderinfo + encoderconfig = im.encoderconfig + compression = encoderinfo.get("compression", im.info.get("compression")) if compression is None: compression = "raw" elif compression == "tiff_jpeg": @@ -1505,7 +1507,7 @@ def _save(im, fp, filename): ifd[IMAGELENGTH] = im.size[1] # write any arbitrary tags passed in as an ImageFileDirectory - info = im.encoderinfo.get("tiffinfo", {}) + info = encoderinfo.get("tiffinfo", {}) logger.debug("Tiffinfo Keys: %s" % list(info)) if isinstance(info, ImageFileDirectory_v1): info = info.to_v2() @@ -1534,7 +1536,7 @@ def _save(im, fp, filename): # preserve ICC profile (should also work when saving other formats # which support profiles as TIFF) -- 2008-06-06 Florian Hoech - icc = im.encoderinfo.get("icc_profile", im.info.get("icc_profile")) + icc = encoderinfo.get("icc_profile", im.info.get("icc_profile")) if icc: ifd[ICCPROFILE] = icc @@ -1550,10 +1552,10 @@ def _save(im, fp, filename): (ARTIST, "artist"), (COPYRIGHT, "copyright"), ]: - if name in im.encoderinfo: - ifd[key] = im.encoderinfo[name] + if name in encoderinfo: + ifd[key] = encoderinfo[name] - dpi = im.encoderinfo.get("dpi") + dpi = encoderinfo.get("dpi") if dpi: ifd[RESOLUTION_UNIT] = 2 ifd[X_RESOLUTION] = dpi[0] @@ -1568,7 +1570,15 @@ def _save(im, fp, filename): if format != 1: ifd[SAMPLEFORMAT] = format - ifd[PHOTOMETRIC_INTERPRETATION] = photo + if PHOTOMETRIC_INTERPRETATION not in ifd: + ifd[PHOTOMETRIC_INTERPRETATION] = photo + elif im.mode == "1" and ifd[PHOTOMETRIC_INTERPRETATION] == 0: + inverted_im = im.copy() + px = inverted_im.load() + 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 if im.mode in ["P", "PA"]: lut = im.im.getpalette("RGB", "RGB;L") @@ -1605,8 +1615,8 @@ def _save(im, fp, filename): ifd.setdefault(tag, value) if libtiff: - if "quality" in im.encoderinfo: - quality = im.encoderinfo["quality"] + if "quality" in encoderinfo: + quality = encoderinfo["quality"] if not isinstance(quality, int) or quality < 0 or quality > 100: raise ValueError("Invalid quality setting") if compression != "jpeg": @@ -1695,7 +1705,7 @@ def _save(im, fp, filename): tags = list(atts.items()) tags.sort() a = (rawmode, compression, _fp, filename, tags, types) - e = Image._getencoder(im.mode, "libtiff", a, im.encoderconfig) + e = Image._getencoder(im.mode, "libtiff", a, encoderconfig) e.setimage(im.im, (0, 0) + im.size) while True: # undone, change to self.decodermaxblock: @@ -1715,7 +1725,7 @@ def _save(im, fp, filename): ) # -- helper for multi-page save -- - if "_debug_multipage" in im.encoderinfo: + if "_debug_multipage" in encoderinfo: # just to access o32 and o16 (using correct byte order) im._debug_multipage = ifd From 887d111e4dc0ec1054e45931e17ac0f25dbb74a0 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 6 Aug 2021 22:01:06 +1000 Subject: [PATCH 069/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index d43a41d70..e4e520496 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Consider I;16 pixel size when drawing text #5598 + [radarhere] + +- If default conversion from P is RGB with transparency, convert to RGBA #5594 + [radarhere] + - Speed up rotating square images by 90 or 270 degrees #5646 [radarhere] From b3fda8c9c656231a426ae02c24645a5a4c2141e7 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 6 Aug 2021 22:33:55 +1000 Subject: [PATCH 070/110] Added release notes --- docs/releasenotes/8.4.0.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/releasenotes/8.4.0.rst b/docs/releasenotes/8.4.0.rst index 74b7d4438..7043e44ec 100644 --- a/docs/releasenotes/8.4.0.rst +++ b/docs/releasenotes/8.4.0.rst @@ -19,10 +19,12 @@ the default required length, also removing the need for the size parameter. API Additions ============= -TODO -^^^^ +Added WalImageFile class +^^^^^^^^^^^^^^^^^^^^^^^^ -TODO +:py:func:`PIL.WalImageFile.open()` previously returned a generic +:py:class:`PIL.Image.Image` instance. It now returns a dedicated +:py:class:`PIL.WalImageFile.WalImageFile` class. Security ======== From 0c43da5e3cb18ac43f9f9b9e17f148b857fa8bc5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 6 Aug 2021 22:41:44 +1000 Subject: [PATCH 071/110] Added release notes --- docs/releasenotes/8.4.0.rst | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/releasenotes/8.4.0.rst b/docs/releasenotes/8.4.0.rst index 74b7d4438..b90696f01 100644 --- a/docs/releasenotes/8.4.0.rst +++ b/docs/releasenotes/8.4.0.rst @@ -19,8 +19,17 @@ the default required length, also removing the need for the size parameter. API Additions ============= -TODO -^^^^ +Added "transparency" argument for loading EPS images +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +This new argument switches the Ghostscript device from "ppmraw" to "pngalpha", +generating an RGBA image with a transparent background instead of an RGB image with a +white background. + +.. code-block:: python + + with Image.open("sample.eps") as im: + im.load(transparency=True) TODO From 6798c87caf25cedf0cef19245e7db1656aed8602 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 6 Aug 2021 23:31:14 +1000 Subject: [PATCH 072/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index e4e520496..4acf1253f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Added WalImageFile class #5618 + [radarhere] + - Consider I;16 pixel size when drawing text #5598 [radarhere] From 9bf7dae03d90fa48f61409d439d7ea7668f7e497 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 6 Aug 2021 23:50:52 +1000 Subject: [PATCH 073/110] Allow saving L mode TIFF with PhotometricInterpretation 0 --- Tests/test_file_tiff.py | 5 +++-- src/PIL/TiffImagePlugin.py | 19 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index a475c55b9..d5dda5799 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -447,9 +447,10 @@ class TestFileTiff: im.seek(1) assert im.getexif()[273] == (1408, 1907) - def test_photometric(self, tmp_path): + @pytest.mark.parametrize("mode", ("1", "L")) + def test_photometric(self, mode, tmp_path): filename = str(tmp_path / "temp.tif") - im = hopper("1") + im = hopper(mode) im.save(filename, tiffinfo={262: 0}) with Image.open(filename) as reloaded: assert reloaded.tag_v2[262] == 0 diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 2858694f8..15678948c 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -48,7 +48,7 @@ from collections.abc import MutableMapping from fractions import Fraction from numbers import Number, Rational -from . import Image, ImageFile, ImagePalette, TiffTags +from . import Image, ImageFile, ImageOps, ImagePalette, TiffTags from ._binary import o8 from .TiffTags import TYPES @@ -1572,13 +1572,16 @@ def _save(im, fp, filename): if PHOTOMETRIC_INTERPRETATION not in ifd: ifd[PHOTOMETRIC_INTERPRETATION] = photo - elif im.mode == "1" and ifd[PHOTOMETRIC_INTERPRETATION] == 0: - inverted_im = im.copy() - px = inverted_im.load() - 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 + elif im.mode in ("1", "L") and ifd[PHOTOMETRIC_INTERPRETATION] == 0: + if im.mode == "1": + inverted_im = im.copy() + px = inverted_im.load() + 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) if im.mode in ["P", "PA"]: lut = im.im.getpalette("RGB", "RGB;L") From 99940765b2763f7e5c014ca4335d1568b89cd416 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 7 Aug 2021 09:39:41 +1000 Subject: [PATCH 074/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 4acf1253f..2c0671ac2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Added "transparency" argument to EpsImagePlugin load() #5620 + [radarhere] + +- Corrected pathlib.Path detection when saving #5633 + [radarhere] + - Added WalImageFile class #5618 [radarhere] From 9ad8c0c41585eadd3a05ef381f83f44645d8beda Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 8 Aug 2021 13:08:42 +1000 Subject: [PATCH 075/110] Updated location of make_hash script [ci skip] --- src/libImaging/Access.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/Access.c b/src/libImaging/Access.c index 6bb16fe3a..514fb2929 100644 --- a/src/libImaging/Access.c +++ b/src/libImaging/Access.c @@ -11,7 +11,7 @@ #include "Imaging.h" -/* use Tests/make_hash.py to calculate these values */ +/* use make_hash.py from the pillow-scripts repository to calculate these values */ #define ACCESS_TABLE_SIZE 27 #define ACCESS_TABLE_HASH 3078 From 8f300af691efb83b6f7db76bf5f6fe66cbce6f02 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 8 Aug 2021 15:01:19 +0200 Subject: [PATCH 076/110] Actually check the framesize in FliDecode. --- src/libImaging/FliDecode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libImaging/FliDecode.c b/src/libImaging/FliDecode.c index 3a6030703..f56432034 100644 --- a/src/libImaging/FliDecode.c +++ b/src/libImaging/FliDecode.c @@ -46,7 +46,8 @@ ImagingFliDecode(Imaging im, ImagingCodecState state, UINT8 *buf, Py_ssize_t byt ptr = buf; framesize = I32(ptr); - if (framesize < I32(ptr)) { + // there can be one pad byte in the framesize + if (bytes + (bytes % 2) < framesize) { return 0; } From db3cccb9c0f5ec936fe5e9b7270eb2e19d20b46e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 9 Aug 2021 08:30:37 +1000 Subject: [PATCH 077/110] Updated MinGW CI Python version [ci skip] --- docs/installation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.rst b/docs/installation.rst index 2b642bf4e..fc6fb76ad 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -476,7 +476,7 @@ These platforms are built and tested for every change. | +---------------------------+---------------------+ | | PyPy3 | x86 | | +---------------------------+---------------------+ -| | 3.8/MinGW | x86, x86-64 | +| | 3.9/MinGW | x86, x86-64 | +----------------------------------+---------------------------+---------------------+ From 81e866a82420d96d6f656ad52695abe44c3495fd Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 9 Aug 2021 16:17:09 +0300 Subject: [PATCH 078/110] Wheel now works on Python 3.10 --- .ci/install.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.ci/install.sh b/.ci/install.sh index 0dbf2d690..03e3649ff 100755 --- a/.ci/install.sh +++ b/.ci/install.sh @@ -35,8 +35,7 @@ python3 -m pip install test-image-results if ! [ "$GHA_PYTHON_VERSION" == "3.10-dev" ]; then python3 -m pip install numpy ; fi # PyQt5 doesn't support PyPy3 -# Wheel doesn't yet support 3.10 -if [[ $GHA_PYTHON_VERSION == 3.* && $GHA_PYTHON_VERSION != "3.10-dev" ]]; then +if [[ $GHA_PYTHON_VERSION == 3.* ]]; then # arm64, ppc64le, s390x CPUs: # "ERROR: Could not find a version that satisfies the requirement pyqt5" sudo apt-get -qq install libxcb-xinerama0 pyqt5-dev-tools From 370f32ba720a446d9e53842f0ebaed96bfa31478 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 29 Jul 2021 12:04:48 +0300 Subject: [PATCH 079/110] Install wheel on CI to avoid legacy setup.py installs --- .ci/install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/install.sh b/.ci/install.sh index 03e3649ff..0f3a36bc4 100755 --- a/.ci/install.sh +++ b/.ci/install.sh @@ -22,6 +22,7 @@ sudo apt-get -qq install libfreetype6-dev liblcms2-dev python3-tk\ cmake imagemagick libharfbuzz-dev libfribidi-dev python3 -m pip install --upgrade pip +python3 -m pip install --upgrade wheel PYTHONOPTIMIZE=0 python3 -m pip install cffi python3 -m pip install coverage python3 -m pip install defusedxml From cbdc7516280776945579d14c017a0d636a9df9e4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 10 Aug 2021 07:04:36 +1000 Subject: [PATCH 080/110] Read AND mask from end --- Tests/images/hopper_mask.ico | Bin 0 -> 262 bytes Tests/images/hopper_mask.png | Bin 0 -> 208 bytes Tests/test_file_ico.py | 5 +++++ src/PIL/IcoImagePlugin.py | 2 +- 4 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 Tests/images/hopper_mask.ico create mode 100644 Tests/images/hopper_mask.png diff --git a/Tests/images/hopper_mask.ico b/Tests/images/hopper_mask.ico new file mode 100644 index 0000000000000000000000000000000000000000..e8d66c689fd42918c887a316f34a8e0d3ae8c154 GIT binary patch literal 262 zcmZQzU<5(|0R|voWcUCi#ei4?h(SUMKn#)x0S6#H!Uw@jKsE@2z<(eB(WVVRwX8sK zP6h^MAls>vfx&}^fkEU61B2iT1_s_L28MSJ7#LdT0~I#{)dDSQ{l~z-X#g|>C^V25 E0C?>&ZU6uP literal 0 HcmV?d00001 diff --git a/Tests/images/hopper_mask.png b/Tests/images/hopper_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..c7bd2f70842801aa0db7150ece834f839cf10376 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(>+}rLn`L<21oN9Q4nZa_I!qfYIUFP)0s%}Q9FmwCmw=?2hLgO~cOSmGXm_xh*B`+Q&1olYF0)pbt5W}{+Q^;C{dV?S z8Hqw`c2h^It&)X%L^GPNyb5**di(nezsJ8iZi_u`3>6H8wpEfdPQP6NbRvVNtDnm{ Hr-UW|-Oo~i literal 0 HcmV?d00001 diff --git a/Tests/test_file_ico.py b/Tests/test_file_ico.py index 8060d1b76..317264db6 100644 --- a/Tests/test_file_ico.py +++ b/Tests/test_file_ico.py @@ -18,6 +18,11 @@ def test_sanity(): assert im.get_format_mimetype() == "image/x-icon" +def test_mask(): + with Image.open("Tests/images/hopper_mask.ico") as im: + assert_image_equal_tofile(im, "Tests/images/hopper_mask.png") + + def test_black_and_white(): with Image.open("Tests/images/black_and_white.ico") as im: assert im.mode == "RGBA" diff --git a/src/PIL/IcoImagePlugin.py b/src/PIL/IcoImagePlugin.py index ffb1e873d..d9ff9b5e7 100644 --- a/src/PIL/IcoImagePlugin.py +++ b/src/PIL/IcoImagePlugin.py @@ -235,8 +235,8 @@ class IcoFile: # the total mask data is # padded row size * height / bits per char - and_mask_offset = o + int(im.size[0] * im.size[1] * (bpp / 8.0)) total_bytes = int((w * im.size[1]) / 8) + and_mask_offset = header["offset"] + header["size"] - total_bytes self.buf.seek(and_mask_offset) mask_data = self.buf.read(total_bytes) From 771c7d937ee3455ea7ac62983eb66b6fa19781ad Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 10 Aug 2021 12:46:12 +1000 Subject: [PATCH 081/110] Install numpy on Python 3.10 --- .github/workflows/macos-install.sh | 3 +-- .github/workflows/test.yml | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/macos-install.sh b/.github/workflows/macos-install.sh index 3a70c8047..8260cf8d8 100755 --- a/.github/workflows/macos-install.sh +++ b/.github/workflows/macos-install.sh @@ -15,8 +15,7 @@ python3 -m pip install pyroma python3 -m pip install test-image-results echo -e "[openblas]\nlibraries = openblas\nlibrary_dirs = /usr/local/opt/openblas/lib" >> ~/.numpy-site.cfg -# TODO Remove condition when numpy supports 3.10 -if ! [ "$GHA_PYTHON_VERSION" == "3.10-dev" ]; then python3 -m pip install numpy ; fi +python3 -m pip install numpy # extra test images pushd depends && ./install_extra_test_images.sh && popd diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 042e6d83e..cd85bc537 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -72,8 +72,6 @@ jobs: if: startsWith(matrix.os, 'macOS') run: | .github/workflows/macos-install.sh - env: - GHA_PYTHON_VERSION: ${{ matrix.python-version }} - name: Build run: | From eaa7b829e284e37cf6b1af46ca2561044510f24b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 10 Aug 2021 16:50:56 +1000 Subject: [PATCH 082/110] Updated libjpeg-turbo to 2.1.1 --- winbuild/build_prepare.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index a9ca8dd6c..eddb03915 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -105,9 +105,9 @@ header = [ # dependencies, listed in order of compilation deps = { "libjpeg": { - "url": SF_MIRROR + "/project/libjpeg-turbo/2.1.0/libjpeg-turbo-2.1.0.tar.gz", - "filename": "libjpeg-turbo-2.1.0.tar.gz", - "dir": "libjpeg-turbo-2.1.0", + "url": SF_MIRROR + "/project/libjpeg-turbo/2.1.1/libjpeg-turbo-2.1.1.tar.gz", + "filename": "libjpeg-turbo-2.1.1.tar.gz", + "dir": "libjpeg-turbo-2.1.1", "build": [ cmd_cmake( [ From 98aa0f10addc5557b7be6d6ea928a8511ab81c04 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 12 Aug 2021 21:50:09 +1000 Subject: [PATCH 083/110] pre-commit autoupdate --freeze --- .pre-commit-config.yaml | 14 +++++++------- Tests/check_large_memory.py | 2 +- Tests/check_large_memory_numpy.py | 2 +- Tests/test_file_dds.py | 6 +++--- Tests/test_file_jpeg.py | 2 +- Tests/test_file_libtiff.py | 6 +++--- Tests/test_file_tiff_metadata.py | 2 +- Tests/test_image_array.py | 2 +- Tests/test_image_point.py | 2 +- src/PIL/BmpImagePlugin.py | 6 +++--- src/PIL/PyAccess.py | 20 ++++++++++---------- 11 files changed, 32 insertions(+), 32 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8d38375f0..6319d06b1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/psf/black - rev: e66be67b9b6811913470f70c28b4d50f94d05b22 # frozen: 20.8b1 + rev: e3000ace2fd1fcb1c181bb7a8285f1f976bcbdc7 # frozen: 21.7b0 hooks: - id: black args: ["--target-version", "py36"] @@ -9,35 +9,35 @@ repos: types: [] - repo: https://github.com/PyCQA/isort - rev: 377d260ffa6f746693f97b46d95025afc4bd8275 # frozen: 5.4.2 + rev: fd5ba70665a37ec301a1f714ed09336048b3be63 # frozen: 5.9.3 hooks: - id: isort - repo: https://github.com/asottile/yesqa - rev: 7a009f3ee493c796827ee334f9058b110a0e0db8 # frozen: v1.2.1 + rev: 644ede78511c02fc6f8e03e014cc1ddcfbf1e1f5 # frozen: v1.2.3 hooks: - id: yesqa - repo: https://github.com/Lucas-C/pre-commit-hooks - rev: f30f4974a08a6b2f6a1eeaf30a4d501cf909163a # frozen: v1.1.9 + rev: 3592548bbd98528887eeed63486cf6c9bae00b98 # frozen: v1.1.10 hooks: - id: remove-tabs exclude: (Makefile$|\.bat$|\.cmake$|\.eps$|\.fits$|\.opt$) - repo: https://gitlab.com/pycqa/flake8 - rev: 05f6544aef321e2fee03a1277ce2eef8880fb927 # frozen: 3.8.3 + rev: dcd740bc0ebaf2b3d43e59a0060d157c97de13f3 # frozen: 3.9.2 hooks: - id: flake8 additional_dependencies: [flake8-2020, flake8-implicit-str-concat] - repo: https://github.com/pre-commit/pygrep-hooks - rev: eae6397e4c259ed3d057511f6dd5330b92867e62 # frozen: v1.6.0 + rev: 6f51a66bba59954917140ec2eeeaa4d5e630e6ce # frozen: v1.9.0 hooks: - id: python-check-blanket-noqa - id: rst-backticks - repo: https://github.com/pre-commit/pre-commit-hooks - rev: e1668fe86af3810fbca72b8653fe478e66a0afdc # frozen: v3.2.0 + rev: 38b88246ccc552bffaaf54259d064beeee434539 # frozen: v4.0.1 hooks: - id: check-merge-conflict - id: check-yaml diff --git a/Tests/check_large_memory.py b/Tests/check_large_memory.py index 723a1a21e..c191ffc1e 100644 --- a/Tests/check_large_memory.py +++ b/Tests/check_large_memory.py @@ -33,7 +33,7 @@ def _write_png(tmp_path, xdim, ydim): def test_large(tmp_path): - """ succeeded prepatch""" + """succeeded prepatch""" _write_png(tmp_path, XDIM, YDIM) diff --git a/Tests/check_large_memory_numpy.py b/Tests/check_large_memory_numpy.py index 79d1cfd5b..70ae6d230 100644 --- a/Tests/check_large_memory_numpy.py +++ b/Tests/check_large_memory_numpy.py @@ -31,7 +31,7 @@ def _write_png(tmp_path, xdim, ydim): def test_large(tmp_path): - """ succeeded prepatch""" + """succeeded prepatch""" _write_png(tmp_path, XDIM, YDIM) diff --git a/Tests/test_file_dds.py b/Tests/test_file_dds.py index 46ebcad0c..2f46ed77e 100644 --- a/Tests/test_file_dds.py +++ b/Tests/test_file_dds.py @@ -197,7 +197,7 @@ def test__accept_false(): def test_short_header(): - """ Check a short header""" + """Check a short header""" with open(TEST_FILE_DXT5, "rb") as f: img_file = f.read() @@ -210,7 +210,7 @@ def test_short_header(): def test_short_file(): - """ Check that the appropriate error is thrown for a short file""" + """Check that the appropriate error is thrown for a short file""" with open(TEST_FILE_DXT5, "rb") as f: img_file = f.read() @@ -224,7 +224,7 @@ def test_short_file(): def test_dxt5_colorblock_alpha_issue_4142(): - """ Check that colorblocks are decoded correctly in DXT5""" + """Check that colorblocks are decoded correctly in DXT5""" with Image.open("Tests/images/dxt5-colorblock-alpha-issue-4142.dds") as im: px = im.getpixel((0, 0)) diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 15518756c..13d99c15d 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -630,7 +630,7 @@ class TestFileJpeg: reloaded.save(f, quality="keep", optimize=True) def test_bad_mpo_header(self): - """ Treat unknown MPO as JPEG """ + """Treat unknown MPO as JPEG""" # Arrange # Act diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index e4393cb44..1d0c93f06 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -97,13 +97,13 @@ class TestFileLibTiff(LibTiffTestCase): self._assert_noerr(tmp_path, im) def test_g4_eq_png(self): - """ Checking that we're actually getting the data that we expect""" + """Checking that we're actually getting the data that we expect""" with Image.open("Tests/images/hopper_bw_500.png") as png: assert_image_equal_tofile(png, "Tests/images/hopper_g4_500.tif") # see https://github.com/python-pillow/Pillow/issues/279 def test_g4_fillorder_eq_png(self): - """ Checking that we're actually getting the data that we expect""" + """Checking that we're actually getting the data that we expect""" with Image.open("Tests/images/g4-fillorder-test.tif") as g4: assert_image_equal_tofile(g4, "Tests/images/g4-fillorder-test.png") @@ -137,7 +137,7 @@ class TestFileLibTiff(LibTiffTestCase): assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") def test_write_metadata(self, tmp_path): - """ Test metadata writing through libtiff """ + """Test metadata writing through libtiff""" for legacy_api in [False, True]: f = str(tmp_path / "temp.tiff") with Image.open("Tests/images/hopper_g4.tif") as img: diff --git a/Tests/test_file_tiff_metadata.py b/Tests/test_file_tiff_metadata.py index 0adbaf016..2213af5aa 100644 --- a/Tests/test_file_tiff_metadata.py +++ b/Tests/test_file_tiff_metadata.py @@ -122,7 +122,7 @@ def test_read_metadata(): def test_write_metadata(tmp_path): - """ Test metadata writing through the python code """ + """Test metadata writing through the python code""" with Image.open("Tests/images/hopper.tif") as img: f = str(tmp_path / "temp.tiff") img.save(f, tiffinfo=img.tag) diff --git a/Tests/test_image_array.py b/Tests/test_image_array.py index 850dc2aaa..5c9cdd7e0 100644 --- a/Tests/test_image_array.py +++ b/Tests/test_image_array.py @@ -41,7 +41,7 @@ def test_toarray(): def test_fromarray(): class Wrapper: - """ Class with API matching Image.fromarray """ + """Class with API matching Image.fromarray""" def __init__(self, img, arr_params): self.img = img diff --git a/Tests/test_image_point.py b/Tests/test_image_point.py index 51108ead2..366f45854 100644 --- a/Tests/test_image_point.py +++ b/Tests/test_image_point.py @@ -32,7 +32,7 @@ def test_16bit_lut(): def test_f_lut(): - """ Tests for floating point lut of 8bit gray image """ + """Tests for floating point lut of 8bit gray image""" im = hopper("L") lut = [0.5 * float(x) for x in range(256)] diff --git a/src/PIL/BmpImagePlugin.py b/src/PIL/BmpImagePlugin.py index 821844484..7bfe733e5 100644 --- a/src/PIL/BmpImagePlugin.py +++ b/src/PIL/BmpImagePlugin.py @@ -58,7 +58,7 @@ def _dib_accept(prefix): # Image plugin for the Windows BMP format. # ============================================================================= class BmpImageFile(ImageFile.ImageFile): - """ Image plugin for the Windows Bitmap format (BMP) """ + """Image plugin for the Windows Bitmap format (BMP)""" # ------------------------------------------------------------- Description format_description = "Windows Bitmap" @@ -70,7 +70,7 @@ class BmpImageFile(ImageFile.ImageFile): vars()[k] = v def _bitmap(self, header=0, offset=0): - """ Read relevant info about the BMP """ + """Read relevant info about the BMP""" read, seek = self.fp.read, self.fp.seek if header: seek(header) @@ -257,7 +257,7 @@ class BmpImageFile(ImageFile.ImageFile): ] def _open(self): - """ Open file, check magic number and read header """ + """Open file, check magic number and read header""" # read 14 bytes: magic number, filesize, reserved, header final offset head_data = self.fp.read(14) # choke if the file does not have the required magic bytes diff --git a/src/PIL/PyAccess.py b/src/PIL/PyAccess.py index 5ceaa238a..eeaa0ccc4 100644 --- a/src/PIL/PyAccess.py +++ b/src/PIL/PyAccess.py @@ -128,7 +128,7 @@ class PyAccess: class _PyAccess32_2(PyAccess): - """ PA, LA, stored in first and last bytes of a 32 bit word """ + """PA, LA, stored in first and last bytes of a 32 bit word""" def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_RGBA **", self.image32) @@ -145,7 +145,7 @@ class _PyAccess32_2(PyAccess): class _PyAccess32_3(PyAccess): - """ RGB and friends, stored in the first three bytes of a 32 bit word """ + """RGB and friends, stored in the first three bytes of a 32 bit word""" def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_RGBA **", self.image32) @@ -164,7 +164,7 @@ class _PyAccess32_3(PyAccess): class _PyAccess32_4(PyAccess): - """ RGBA etc, all 4 bytes of a 32 bit word """ + """RGBA etc, all 4 bytes of a 32 bit word""" def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_RGBA **", self.image32) @@ -183,7 +183,7 @@ class _PyAccess32_4(PyAccess): class _PyAccess8(PyAccess): - """ 1, L, P, 8 bit images stored as uint8 """ + """1, L, P, 8 bit images stored as uint8""" def _post_init(self, *args, **kwargs): self.pixels = self.image8 @@ -201,7 +201,7 @@ class _PyAccess8(PyAccess): class _PyAccessI16_N(PyAccess): - """ I;16 access, native bitendian without conversion """ + """I;16 access, native bitendian without conversion""" def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("unsigned short **", self.image) @@ -219,7 +219,7 @@ class _PyAccessI16_N(PyAccess): class _PyAccessI16_L(PyAccess): - """ I;16L access, with conversion """ + """I;16L access, with conversion""" def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_I16 **", self.image) @@ -240,7 +240,7 @@ class _PyAccessI16_L(PyAccess): class _PyAccessI16_B(PyAccess): - """ I;16B access, with conversion """ + """I;16B access, with conversion""" def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_I16 **", self.image) @@ -261,7 +261,7 @@ class _PyAccessI16_B(PyAccess): class _PyAccessI32_N(PyAccess): - """ Signed Int32 access, native endian """ + """Signed Int32 access, native endian""" def _post_init(self, *args, **kwargs): self.pixels = self.image32 @@ -274,7 +274,7 @@ class _PyAccessI32_N(PyAccess): class _PyAccessI32_Swap(PyAccess): - """ I;32L/B access, with byteswapping conversion """ + """I;32L/B access, with byteswapping conversion""" def _post_init(self, *args, **kwargs): self.pixels = self.image32 @@ -293,7 +293,7 @@ class _PyAccessI32_Swap(PyAccess): class _PyAccessF(PyAccess): - """ 32 bit float access """ + """32 bit float access""" def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("float **", self.image32) From fc95a0c3c04cb54d87c0477166d2be0b28dfe9a9 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 12 Aug 2021 22:36:41 +1000 Subject: [PATCH 084/110] Added quarterly autoupdate_schedule --- .pre-commit-config.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6319d06b1..55fe9c4a7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -41,3 +41,6 @@ repos: hooks: - id: check-merge-conflict - id: check-yaml + +ci: + autoupdate_schedule: quarterly From 0cbc033b34543637429dd4aa09f79f504523ebc9 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 13 Aug 2021 17:54:48 +1000 Subject: [PATCH 085/110] Updated FreeBSD package install command to Python 3.8 [ci skip] --- docs/installation.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.rst b/docs/installation.rst index 2b642bf4e..e10f783c3 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -111,7 +111,7 @@ Pillow can be installed on FreeBSD via the official Ports or Packages systems: **Packages**:: - pkg install py36-pillow + pkg install py38-pillow .. note:: From 5db0969f6f9873bd15aededab9ef413f043f1ea4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 14 Aug 2021 08:33:28 +1000 Subject: [PATCH 086/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 2c0671ac2..990495ff2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,15 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- For GIF save_all with palette, do not include palette with each frame #5603 + [radarhere] + +- Keep transparency when converting from P to LA or PA #5606 + [radarhere] + +- Copy palette to new image in transform() #5647 + [radarhere] + - Added "transparency" argument to EpsImagePlugin load() #5620 [radarhere] From 4419eda505592ab5ae079fe6b23e220696978c13 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 14 Aug 2021 19:55:01 +1000 Subject: [PATCH 087/110] Updated libwebp to 1.2.1 --- depends/install_webp.sh | 2 +- winbuild/build_prepare.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/depends/install_webp.sh b/depends/install_webp.sh index 568cb2df9..4a4e74305 100755 --- a/depends/install_webp.sh +++ b/depends/install_webp.sh @@ -1,7 +1,7 @@ #!/bin/bash # install webp -archive=libwebp-1.2.0 +archive=libwebp-1.2.1 ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/master/$archive.tar.gz diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index eddb03915..493665902 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -154,9 +154,9 @@ deps = { # "bins": [r"libtiff\*.dll"], }, "libwebp": { - "url": "http://downloads.webmproject.org/releases/webp/libwebp-1.2.0.tar.gz", - "filename": "libwebp-1.2.0.tar.gz", - "dir": "libwebp-1.2.0", + "url": "http://downloads.webmproject.org/releases/webp/libwebp-1.2.1.tar.gz", + "filename": "libwebp-1.2.1.tar.gz", + "dir": "libwebp-1.2.1", "build": [ cmd_rmdir(r"output\release-static"), # clean cmd_nmake( From 26d932505f94b40da4de7d253dc1201a932db69e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 15 Aug 2021 17:28:52 +1000 Subject: [PATCH 088/110] Corrected property name [ci skip] --- docs/handbook/image-file-formats.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/handbook/image-file-formats.rst b/docs/handbook/image-file-formats.rst index 06d262d43..a6d5d7093 100644 --- a/docs/handbook/image-file-formats.rst +++ b/docs/handbook/image-file-formats.rst @@ -844,7 +844,7 @@ Reading Multi-frame TIFF Images The TIFF loader supports the :py:meth:`~PIL.Image.Image.seek` and :py:meth:`~PIL.Image.Image.tell` methods, taking and returning frame numbers within the image file. You can combine these methods to seek to the next frame -(``im.seek(im.tell() + 1)``). Frames are numbered from 0 to ``im.num_frames - 1``, +(``im.seek(im.tell() + 1)``). Frames are numbered from 0 to ``im.n_frames - 1``, and can be accessed in any order. ``im.seek()`` raises an :py:exc:`EOFError` if you try to seek after the From f518149a1bbe5ebea9d0ca41612e3e6748349ace Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 16 Aug 2021 10:59:51 +1000 Subject: [PATCH 089/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 990495ff2..4e4e9648b 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Allow saving 1 and L mode TIFF with PhotometricInterpretation 0 #5655 + [radarhere] + - For GIF save_all with palette, do not include palette with each frame #5603 [radarhere] From c5ac9326388d3f9995699ca201c82d242d7f03ab Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 18 Aug 2021 21:55:12 +1000 Subject: [PATCH 090/110] Updated harfbuzz to 2.9.0 --- winbuild/build_prepare.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index 493665902..ffffaf662 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -277,9 +277,9 @@ deps = { "libs": [r"*.lib"], }, "harfbuzz": { - "url": "https://github.com/harfbuzz/harfbuzz/archive/2.8.2.zip", - "filename": "harfbuzz-2.8.2.zip", - "dir": "harfbuzz-2.8.2", + "url": "https://github.com/harfbuzz/harfbuzz/archive/2.9.0.zip", + "filename": "harfbuzz-2.9.0.zip", + "dir": "harfbuzz-2.9.0", "build": [ cmd_cmake("-DHB_HAVE_FREETYPE:BOOL=TRUE"), cmd_nmake(target="clean"), From 2b9e230f76d28b868297039dfcbbeef98dca9ceb Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Tue, 24 Aug 2021 10:58:02 +0300 Subject: [PATCH 091/110] Fix ResourceWarning: unclosed file --- Tests/test_imagepalette.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/test_imagepalette.py b/Tests/test_imagepalette.py index 5a59b7799..475d249ed 100644 --- a/Tests/test_imagepalette.py +++ b/Tests/test_imagepalette.py @@ -16,10 +16,10 @@ def test_sanity(): def test_reload(): - im = Image.open("Tests/images/hopper.gif") - original = im.copy() - im.palette.dirty = 1 - assert_image_equal(im.convert("RGB"), original.convert("RGB")) + with Image.open("Tests/images/hopper.gif") as im: + original = im.copy() + im.palette.dirty = 1 + assert_image_equal(im.convert("RGB"), original.convert("RGB")) def test_getcolor(): From 474270fbd587cf303232dcde5bae350f2d34ce38 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Tue, 24 Aug 2021 11:03:10 +0300 Subject: [PATCH 092/110] Filter out UserWarning: Truncated File Read --- Tests/test_tiff_crashes.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/test_tiff_crashes.py b/Tests/test_tiff_crashes.py index 6cdb8e44d..143765b8e 100644 --- a/Tests/test_tiff_crashes.py +++ b/Tests/test_tiff_crashes.py @@ -40,6 +40,7 @@ from .helper import on_ci ) @pytest.mark.filterwarnings("ignore:Possibly corrupt EXIF data") @pytest.mark.filterwarnings("ignore:Metadata warning") +@pytest.mark.filterwarnings("ignore:Truncated File Read") def test_tiff_crashes(test_file): try: with Image.open(test_file) as im: From 320ab8172e0d45b57a01c21cb0905abdf8593849 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Tue, 24 Aug 2021 11:19:45 +0300 Subject: [PATCH 093/110] Avoid DecompressionBombWarning: Image size (151587072 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack. --- Tests/test_map.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Tests/test_map.py b/Tests/test_map.py index 752c5f268..42f3447eb 100644 --- a/Tests/test_map.py +++ b/Tests/test_map.py @@ -24,11 +24,17 @@ def test_overflow(): def test_tobytes(): + # Note that this image triggers the decompression bomb warning: + max_pixels = Image.MAX_IMAGE_PIXELS + Image.MAX_IMAGE_PIXELS = None + # Previously raised an access violation on Windows with Image.open("Tests/images/l2rgb_read.bmp") as im: with pytest.raises((ValueError, MemoryError, OSError)): im.tobytes() + Image.MAX_IMAGE_PIXELS = max_pixels + @pytest.mark.skipif(sys.maxsize <= 2 ** 32, reason="Requires 64-bit system") def test_ysize(): From 2f8b3d0ff948942e609dd377c5ad1827c6830587 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Tue, 24 Aug 2021 11:20:09 +0300 Subject: [PATCH 094/110] Ignore new test_images file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 5500ec037..790404535 100644 --- a/.gitignore +++ b/.gitignore @@ -83,6 +83,7 @@ docs/_build/ Tests/images/README.md Tests/images/crash_1.tif Tests/images/crash_2.tif +Tests/images/crash-81154a65438ba5aaeca73fd502fa4850fbde60f8.tif Tests/images/string_dimension.tiff Tests/images/jpeg2000 Tests/images/msp From d773fcd23d01c19af2cfbc280b8421ddfa0908e6 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Tue, 24 Aug 2021 11:33:43 +0300 Subject: [PATCH 095/110] Filter out UserWarning: Truncated File Read --- Tests/test_file_tiff.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index d5dda5799..236fcf445 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -698,6 +698,8 @@ class TestFileTiff: # Ignore this UserWarning which triggers for four tags: # "Possibly corrupt EXIF data. Expecting to read 50404352 bytes but..." @pytest.mark.filterwarnings("ignore:Possibly corrupt EXIF data") + # Ignore this UserWarning: + @pytest.mark.filterwarnings("ignore:Truncated File Read") @pytest.mark.skipif( not os.path.exists("Tests/images/string_dimension.tiff"), reason="Extra image files not installed", From 7f3646493cbe4ae5e3edc44cd5e4b8f7f04a410a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 24 Aug 2021 21:56:36 +1000 Subject: [PATCH 096/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 4e4e9648b..9de7dd82e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Updates for ImagePalette channel order #5599 + [radarhere] + +- Fixed using info dictionary when writing multiple APNG frames #5611 + [radarhere] + - Allow saving 1 and L mode TIFF with PhotometricInterpretation 0 #5655 [radarhere] From d50052a75c4d0d17d3d37c24a4558c9e0736f0e8 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 24 Aug 2021 22:33:08 +1000 Subject: [PATCH 097/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 9de7dd82e..977323f9f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Determine JPEG2000 mode purely from ihdr header box #5654 + [radarhere] + - Updates for ImagePalette channel order #5599 [radarhere] From 0dba28613bc94084dc668b924db7e6b5ec944a87 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 31 Aug 2021 00:33:10 +1000 Subject: [PATCH 098/110] Copy Python palette to new image in quantize() --- Tests/test_image_quantize.py | 1 + src/PIL/Image.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Tests/test_image_quantize.py b/Tests/test_image_quantize.py index 1ceff0842..bd9db362c 100644 --- a/Tests/test_image_quantize.py +++ b/Tests/test_image_quantize.py @@ -63,6 +63,7 @@ def test_quantize_no_dither(): converted = image.quantize(dither=0, palette=palette) assert_image(converted, "P", converted.size) + assert converted.palette.palette == palette.palette.palette def test_quantize_dither_diff(): diff --git a/src/PIL/Image.py b/src/PIL/Image.py index f53dbe016..7dd5b35bd 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1130,7 +1130,9 @@ class Image: "only RGB or L mode images can be quantized to a palette" ) im = self.im.convert("P", dither, palette.im) - return self._new(im) + new_im = self._new(im) + new_im.palette = palette.palette.copy() + return new_im im = self._new(self.im.quantize(colors, method, kmeans)) From 9189c4b08bb5b239a708da5280d4ce4e4dad6a77 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 1 Sep 2021 19:46:24 +1000 Subject: [PATCH 099/110] Pillow 8.3.2 supports Python 3.10 [ci skip] --- docs/installation.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 1eb26e4c6..03f7157bb 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -18,9 +18,9 @@ Pillow supports these Python versions. +----------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | Python |3.10 | 3.9 | 3.8 | 3.7 | 3.6 | 3.5 | 3.4 | 2.7 | +======================+=====+=====+=====+=====+=====+=====+=====+=====+ -| Pillow >= 8.4 | Yes | Yes | Yes | Yes | Yes | | | | +| Pillow >= 8.3.2 | Yes | Yes | Yes | Yes | Yes | | | | +----------------------+-----+-----+-----+-----+-----+-----+-----+-----+ -| Pillow 8.0 - 8.3 | | Yes | Yes | Yes | Yes | | | | +| Pillow 8.0 - 8.3.1 | | Yes | Yes | Yes | Yes | | | | +----------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | Pillow 7.0 - 7.2 | | | Yes | Yes | Yes | Yes | | | +----------------------+-----+-----+-----+-----+-----+-----+-----+-----+ From ad1522aa550257c2b9ea79aa1826e0c6316d12d4 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Wed, 1 Sep 2021 13:14:47 +0300 Subject: [PATCH 100/110] Add release notes for Pillow 8.3.2 --- docs/releasenotes/8.3.2.rst | 27 +++++++++++++++++++++++++++ docs/releasenotes/index.rst | 1 + 2 files changed, 28 insertions(+) create mode 100644 docs/releasenotes/8.3.2.rst diff --git a/docs/releasenotes/8.3.2.rst b/docs/releasenotes/8.3.2.rst new file mode 100644 index 000000000..0a795957e --- /dev/null +++ b/docs/releasenotes/8.3.2.rst @@ -0,0 +1,27 @@ +8.3.2 +----- + +Other Changes +============= + +Python 3.10 wheels +^^^^^^^^^^^^^^^^^^ + +Pillow now includes binary wheels for Python 3.10. + +The Python 3.10 release candidate was released on 2021-08-03 with the final release due +2021-10-04 (:pep:`619`). The CPython core team strongly encourages maintainers of +third-party Python projects to prepare for 3.10 compatibility. And as there are `no ABI +changes`_ planned we are releasing wheels to help others prepare for 3.10, and ensure +Pillow can be used immediately on release day of 3.10.0 final. + +Fixed regressions +^^^^^^^^^^^^^^^^^ + +* Ensure TIFF ``RowsPerStrip`` is multiple of 8 for JPEG compression (:pr:`5588`). + +* Updates for :py:class:`~PIL.ImagePalette` channel order (:pr:`5599`). + +* Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library (:pr:`5651`). + +.. _no ABI changes: https://www.python.org/downloads/release/python-3100rc1/ diff --git a/docs/releasenotes/index.rst b/docs/releasenotes/index.rst index 55c51a401..f42ea72e8 100644 --- a/docs/releasenotes/index.rst +++ b/docs/releasenotes/index.rst @@ -15,6 +15,7 @@ expected to be backported to earlier versions. :maxdepth: 2 8.4.0 + 8.3.2 8.3.1 8.3.0 8.2.0 From ec1a00c7fe085bc47ff18f4f78b82e3916dde4af Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Wed, 1 Sep 2021 18:55:54 +0300 Subject: [PATCH 101/110] Add 8.3.2 (2021-09-02) [CI skip] --- CHANGES.rst | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 977323f9f..ca4145e90 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -8,9 +8,6 @@ Changelog (Pillow) - Determine JPEG2000 mode purely from ihdr header box #5654 [radarhere] -- Updates for ImagePalette channel order #5599 - [radarhere] - - Fixed using info dictionary when writing multiple APNG frames #5611 [radarhere] @@ -68,12 +65,24 @@ Changelog (Pillow) - Fixed ImageOps expand with tuple border on P image #5615 [radarhere] -- Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression #5588 - [kmilos, radarhere] - - Fixed error saving APNG with duplicate frames and different duration times #5609 [thak1411, radarhere] +8.3.2 (2021-09-02) +------------------ + +- Add support for Python 3.10 #5569, #5570 + [hugovk, radarhere] + +- Ensure TIFF ``RowsPerStrip`` is multiple of 8 for JPEG compression #5588 + [kmilos, radarhere] + +- Updates for ``ImagePalette`` channel order #5599 + [radarhere] + +- Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library #5651 + [nulano] + 8.3.1 (2021-07-06) ------------------ From a20d45fc0b7c450ce56f9aaa28eb81e245b8b651 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 8 Aug 2021 13:54:48 +0200 Subject: [PATCH 102/110] Fix 6-byte OOB read in FliDecode --- src/libImaging/FliDecode.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libImaging/FliDecode.c b/src/libImaging/FliDecode.c index 3a6030703..7a396fb1f 100644 --- a/src/libImaging/FliDecode.c +++ b/src/libImaging/FliDecode.c @@ -223,8 +223,15 @@ ImagingFliDecode(Imaging im, ImagingCodecState state, UINT8 *buf, Py_ssize_t byt break; case 16: /* COPY chunk */ - if (state->xsize > bytes / state->ysize) { + if (INT32_MAX / state->xsize < state->ysize) { + /* Integer overflow, bail */ + state->errcode = IMAGING_CODEC_OVERRUN; + return -1; + } + /* Note, have to check Data + size, not just ptr + size) */ + if (data + (state->xsize * state->ysize) > ptr + bytes) { /* not enough data for frame */ + /* UNDONE Unclear that we're actually going to leave the buffer at the right place. */ return ptr - buf; /* bytes consumed */ } for (y = 0; y < state->ysize; y++) { From d5edc5ff09060281f49dcb49dec2e3ab4d88b07e Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Sun, 8 Aug 2021 14:04:05 +0200 Subject: [PATCH 103/110] FLI tests for Oss-fuzz crash. * Note, valgrind doesn't pick this up, it's only the oss-fuzz reproducer that catches it OMM. --- Tests/images/crash-5762152299364352.fli | Bin 0 -> 8731 bytes Tests/test_file_fli.py | 13 +++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 Tests/images/crash-5762152299364352.fli diff --git a/Tests/images/crash-5762152299364352.fli b/Tests/images/crash-5762152299364352.fli new file mode 100644 index 0000000000000000000000000000000000000000..944fe0b56c73b016c7599beb5b8e47cd33f0432f GIT binary patch literal 8731 zcmeGhe{2)y^_}g@4`aKIaSJo+dW4`dO##PA)8G+^?Zm_^!LIE5d?6(%)mHwLLHc48!QEj&Uk96VA=NgRotsN z3st@w0QmPMlg@I2)eK+(2EgWD3Q%8Xx7E39wvF|*_3JzDbJ^^6L{F{tK9_yH$L@AH zJfA~DO{%~Tqm{X&XYPP=eEYwC)*$72tiig~!?mBDEi&ai`4Ht;69`6HJ3nC*I- z4fL_crrA>qU+vb=I5dJmt^ACOO=j1|O)I@a`Bp*$0K=GRowXfjLYnrO0~uzd30TA$ zU5EC^y*f>L9){KW{s-wzI$eW(KaVFTjS4picl|-1 zI0oUm=J4XLX5YQ84mYeU9L9Zg4!bu=rJRWL$4I+#LaK=8f{pmM`HYB1!eMPRLjdGg zNY{adap8%JoJh~0Kt@RmTx?iTmEy3H=RzUQ z=WThI+t#1rMVXji1Y-ETt^Sr)&euwWcPCE5Gy`T~>}TgMjGZ`fa>MMIAD@hl?4A0< zTmPJVw(-vga(}5NS%LB6~xB6axFaGP_MSl_d&gA5YiOAMH z<##V1KRR{vwXxa1OeCfYyUyMJ0S|!}e;fp0C$u0%P#ICIpeRELK`rH@>Bo6w+w^Vqi&!;ELClKP)dB@g$nRXWRrKMt3vOlYiR2w}xsk_?1S=Ww9v7Q1I>J?jcG2@D*4SC~kS&2370JrQ~6r8V8 zxAgvxXkGR5!zno{WI7vnH162V?b=bu4EYnn6GV>Y^8Nk(Ua^Qr*_a{g7K(g9)B-w# z74Hsf>VE8y6V%jh?)Jf++xMuIo}~H9H5a;P3|?!88@?Y`k0aiMuyM`rFdFyB!0~fiIPx04Q{9I zo|<=ZRF;!x0S;i4cJMiXM=t|>bpYV8*8!eF;WrVVM*J4yF`cG1$*3lzK#yX{QN$4l z5CDu}0~1ylvjcw01B@e*F)~E;I3gLO+Grm|+K>}XGDGJZNFPCb5|Q+e0G;EK$Q9L| z5!IjK=>xp8v6vbWGL1S@l#6Og=7mUiXCt26+eI0f~GrVj1 z(l`-=wc#H*FHLQD@Bw^P&k&#N!`gz_r6X1d41T>c-+ty<`r`ljP$obr7Gj0%Kpd&hD@~9S*14;c&RAaJVa7 z8uXr31F3mf&S3czG}J*a^qQGQFf}md2B!Q0j*KmzX7=EKSW2KW3=Iweli?-{TT@$C zZ(WB8!No!bOlCvq1jfRcO%@YdTT{oHZ5=3VFk3deTG+rNsr8Ld9P`zsvuOdGhe_*=~)OZfp#~6ayNmpcJixMutJhNV)z2c}5L8KJqS2Bqn&N zl1PkU;Kz3z((Yy|oP0saAH09F0TLp literal 0 HcmV?d00001 diff --git a/Tests/test_file_fli.py b/Tests/test_file_fli.py index 1c1abf2b1..675e06bf8 100644 --- a/Tests/test_file_fli.py +++ b/Tests/test_file_fli.py @@ -138,3 +138,16 @@ def test_timeouts(test_file): with Image.open(f) as im: with pytest.raises(OSError): im.load() + + +@pytest.mark.parametrize( + "test_file", + [ + "Tests/images/crash-5762152299364352.fli", + ], +) +def test_crash(test_file): + with open(test_file, "rb") as f: + with Image.open(f) as im: + with pytest.raises(OSError): + im.load() From 1dc6564eb7ee8f28fb16eeffaf3572f3e1d5aa29 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Mon, 23 Aug 2021 19:10:49 +0300 Subject: [PATCH 104/110] Raise ValueError if color specifier is too long --- Tests/test_imagecolor.py | 9 +++++++++ src/PIL/ImageColor.py | 2 ++ 2 files changed, 11 insertions(+) diff --git a/Tests/test_imagecolor.py b/Tests/test_imagecolor.py index b5d693796..dbe8b9e95 100644 --- a/Tests/test_imagecolor.py +++ b/Tests/test_imagecolor.py @@ -191,3 +191,12 @@ def test_rounding_errors(): assert (255, 255) == ImageColor.getcolor("white", "LA") assert (163, 33) == ImageColor.getcolor("rgba(0, 255, 115, 33)", "LA") Image.new("LA", (1, 1), "white") + + +def test_color_too_long(): + # Arrange + color_too_long = "hsl(" + "1" * 100 + ")" + + # Act / Assert + with pytest.raises(ValueError): + ImageColor.getrgb(color_too_long) diff --git a/src/PIL/ImageColor.py b/src/PIL/ImageColor.py index 51df44040..25f92f2c7 100644 --- a/src/PIL/ImageColor.py +++ b/src/PIL/ImageColor.py @@ -32,6 +32,8 @@ def getrgb(color): :param color: A color string :return: ``(red, green, blue[, alpha])`` """ + if len(color) > 100: + raise ValueError("color specifier is too long") color = color.lower() rgb = colormap.get(color, None) From 5d399603dbec531a6fd68da17cdbe6398a7a54ac Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Tue, 24 Aug 2021 16:08:31 +0300 Subject: [PATCH 105/110] Update test case Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> --- Tests/test_imagecolor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_imagecolor.py b/Tests/test_imagecolor.py index dbe8b9e95..dcc44e6e3 100644 --- a/Tests/test_imagecolor.py +++ b/Tests/test_imagecolor.py @@ -195,7 +195,7 @@ def test_rounding_errors(): def test_color_too_long(): # Arrange - color_too_long = "hsl(" + "1" * 100 + ")" + color_too_long = "hsl(" + "1" * 40 + "," + "1" * 40 + "%," + "1" * 40 + "%)" # Act / Assert with pytest.raises(ValueError): From 949503b160b64c5671c690dd42d544ef2b145088 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 2 Sep 2021 15:04:28 +0300 Subject: [PATCH 106/110] Update release notes --- docs/releasenotes/2.7.0.rst | 2 +- docs/releasenotes/8.3.2.rst | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/releasenotes/2.7.0.rst b/docs/releasenotes/2.7.0.rst index 03000528f..660d33164 100644 --- a/docs/releasenotes/2.7.0.rst +++ b/docs/releasenotes/2.7.0.rst @@ -14,7 +14,7 @@ Png text chunk size limits To prevent potential denial of service attacks using compressed text chunks, there are now limits to the decompressed size of text chunks decoded from PNG images. If the limits are exceeded when opening a PNG -image a ``ValueError`` will be raised. +image a :py:exc:`ValueError` will be raised. Individual text chunks are limited to :py:attr:`PIL.PngImagePlugin.MAX_TEXT_CHUNK`, set to 1MB by diff --git a/docs/releasenotes/8.3.2.rst b/docs/releasenotes/8.3.2.rst index 0a795957e..6b5c759fc 100644 --- a/docs/releasenotes/8.3.2.rst +++ b/docs/releasenotes/8.3.2.rst @@ -1,6 +1,18 @@ 8.3.2 ----- +Security +======== + +* :cve:`CVE-2021-23437`: Avoid a potential ReDoS (regular expression denial of service) + in :py:class:`~PIL.ImageColor`'s :py:meth:`~PIL.ImageColor.getrgb` by raising + :py:exc:`ValueError` if the color specifier is too long. Present since Pillow 5.2.0. + +* Fix 6-byte out-of-bounds (OOB) read. The previous bounds check in ``FliDecode.c`` + incorrectly calculated the required read buffer size when copying a chunk, potentially + reading six extra bytes off the end of the allocated buffer from the heap. Present + since Pillow 7.1.0. This bug was found by Google's `OSS-Fuzz`_ `CIFuzz`_ runs. + Other Changes ============= @@ -24,4 +36,6 @@ Fixed regressions * Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library (:pr:`5651`). +.. _OSS-Fuzz: https://github.com/google/oss-fuzz +.. _CIFuzz: https://google.github.io/oss-fuzz/getting-started/continuous-integration/ .. _no ABI changes: https://www.python.org/downloads/release/python-3100rc1/ From 98319efcc5460e4d9a2c14e83f8fcdf082754918 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Thu, 2 Sep 2021 15:07:13 +0300 Subject: [PATCH 107/110] Update CHANGES.rst --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index ca4145e90..8d3b9e0d8 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -71,6 +71,12 @@ Changelog (Pillow) 8.3.2 (2021-09-02) ------------------ +- CVE-2021-23437 Raise ValueError if color specifier is too long + [hugovk, radarhere] + +- Fix 6-byte OOB read in FliDecode + [wiredfool] + - Add support for Python 3.10 #5569, #5570 [hugovk, radarhere] From ab90e939b53587bb6ca1e2709c797c0b9178c4e5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 6 Sep 2021 06:35:43 +1000 Subject: [PATCH 108/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 8d3b9e0d8..da6c2e36f 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Read ICO AND mask from end #5667 + [radarhere] + +- Actually check the framesize in FliDecode.c #5659 + [wiredfool] + - Determine JPEG2000 mode purely from ihdr header box #5654 [radarhere] From 632c11b2abe97bc80af696ace2da0bd8a6d74c74 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 6 Sep 2021 07:36:40 +1000 Subject: [PATCH 109/110] Install numpy on Python 3.10 --- .ci/install.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.ci/install.sh b/.ci/install.sh index 0f3a36bc4..c48acf9ee 100755 --- a/.ci/install.sh +++ b/.ci/install.sh @@ -32,8 +32,7 @@ python3 -m pip install -U pytest-cov python3 -m pip install -U pytest-timeout python3 -m pip install pyroma python3 -m pip install test-image-results -# TODO Remove condition when numpy supports 3.10 -if ! [ "$GHA_PYTHON_VERSION" == "3.10-dev" ]; then python3 -m pip install numpy ; fi +python3 -m pip install numpy # PyQt5 doesn't support PyPy3 if [[ $GHA_PYTHON_VERSION == 3.* ]]; then From ecf3a34717f077045f8f473e17546477fc1f74ad Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 7 Sep 2021 06:30:44 +1000 Subject: [PATCH 110/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index da6c2e36f..f39612e70 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Copy Python palette to new image in quantize() #5696 + [radarhere] + - Read ICO AND mask from end #5667 [radarhere]

7ItG> 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 onNRuV2#XJc5KM~UX*8l(j literal 0 HcmV?d00001 diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index dc20d432f..f7e6c68bf 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -335,6 +335,28 @@ def test_exif_transpose(): ) as orientation_im: check(orientation_im) + # Orientation from "XML:com.adobe.xmp" info key + with Image.open("Tests/images/xmp_tags_orientation.png") as im: + assert im.getexif()[0x0112] == 3 + + transposed_im = ImageOps.exif_transpose(im) + assert 0x0112 not in transposed_im.getexif() + + # Orientation from "Raw profile type exif" info key + # This test image has been manually hexedited from exif_imagemagick.png + # to have a different orientation + with Image.open("Tests/images/exif_imagemagick_orientation.png") as im: + assert im.getexif()[0x0112] == 3 + + transposed_im = ImageOps.exif_transpose(im) + assert 0x0112 not in transposed_im.getexif() + + # Orientation set directly on Image.Exif + im = hopper() + im.getexif()[0x0112] = 3 + transposed_im = ImageOps.exif_transpose(im) + assert 0x0112 not in transposed_im.getexif() + def test_autocontrast_cutoff(): # Test the cutoff argument of autocontrast diff --git a/src/PIL/ImageOps.py b/src/PIL/ImageOps.py index 711a519fc..e06a7eaca 100644 --- a/src/PIL/ImageOps.py +++ b/src/PIL/ImageOps.py @@ -19,6 +19,7 @@ import functools import operator +import re from . import Image, ImageDraw @@ -588,7 +589,19 @@ def exif_transpose(image): if method is not None: transposed_image = image.transpose(method) transposed_exif = transposed_image.getexif() - del transposed_exif[0x0112] - transposed_image.info["exif"] = transposed_exif.tobytes() + if 0x0112 in transposed_exif: + del transposed_exif[0x0112] + if "exif" in transposed_image.info: + transposed_image.info["exif"] = transposed_exif.tobytes() + elif "Raw profile type exif" in transposed_image.info: + transposed_image.info[ + "Raw profile type exif" + ] = transposed_exif.tobytes().hex() + elif "XML:com.adobe.xmp" in transposed_image.info: + transposed_image.info["XML:com.adobe.xmp"] = re.sub( + r'tiff:Orientation="([0-9])"', + "", + transposed_image.info["XML:com.adobe.xmp"], + ) return transposed_image return image.copy() From f962b18f6972b9aeeaa0ab1a00ea87c46408da6c Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 6 Jul 2021 11:00:03 +1000 Subject: [PATCH 008/110] Catch OSError when checking if fp is sys.stdout --- src/PIL/ImageFile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/PIL/ImageFile.py b/src/PIL/ImageFile.py index daf732de1..43d2bf0cc 100644 --- a/src/PIL/ImageFile.py +++ b/src/PIL/ImageFile.py @@ -493,7 +493,11 @@ def _save(im, fp, tile, bufsize=0): # But, it would need at least the image size in most cases. RawEncode is # a tricky case. bufsize = max(MAXBLOCK, bufsize, im.size[0] * 4) # see RawEncode.c - if fp == sys.stdout or (hasattr(sys.stdout, "buffer") and fp == sys.stdout.buffer): + try: + stdout = fp == sys.stdout or fp == sys.stdout.buffer + except (OSError, AttributeError): + stdout = False + if stdout: fp.flush() return try: From b6111065de63851ddfd6e5ab832a0b79c45b4df4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 6 Jul 2021 17:57:16 +1000 Subject: [PATCH 009/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 7c820e17a..63adb8782 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,18 @@ Changelog (Pillow) ================== +8.3.1 (2021-07-06) +------------------ + +- Catch OSError when checking if fp is sys.stdout #5585 + [radarhere] + +- Handle removing orientation from alternate types of EXIF data #5584 + [radarhere] + +- Make Image.__array__ take optional dtype argument #5572 + [t-vi, radarhere] + 8.3.0 (2021-07-01) ------------------ From 5fe583598fd7a96514abec669b1bf5f7676aeb57 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 7 Jul 2021 00:03:45 +1000 Subject: [PATCH 010/110] Added release notes for 8.3.1 --- docs/releasenotes/8.3.1.rst | 40 +++++++++++++++++++++++++++++++++++++ docs/releasenotes/index.rst | 1 + 2 files changed, 41 insertions(+) create mode 100644 docs/releasenotes/8.3.1.rst diff --git a/docs/releasenotes/8.3.1.rst b/docs/releasenotes/8.3.1.rst new file mode 100644 index 000000000..e97070c11 --- /dev/null +++ b/docs/releasenotes/8.3.1.rst @@ -0,0 +1,40 @@ +8.3.1 +----- + +Fixed regression converting to NumPy arrays +=========================================== + +This fixes a regression introduced in 8.3.0 when converting an image to a NumPy array +with a ``dtype`` argument. + +.. code-block:: pycon + + >>> from PIL import Image + >>> import numpy + >>> im = Image.new("RGB", (100, 100)) + >>> numpy.array(im, dtype=numpy.float64) + Traceback (most recent call last): + File "", line 1, in + TypeError: __array__() takes 1 positional argument but 2 were given + >>> + +Catch OSError when checking if destination is sys.stdout +======================================================== + +In 8.3.0, a check to see if the destination was ``sys.stdout`` when saving an image was +updated. This lead to an OSError being raised if the environment restricted access. + +The OSError is now silently caught. + +Fixed removing orientation in ImageOps.exif_transpose +===================================================== + +In 8.3.0, :py:meth:`~PIL.ImageOps.exif_transpose` was changed to ensure that the +original image EXIF data was not modified, and the orientation was only removed from +the modified copy. + +However, for certain images the orientation was already missing from the modified +image, leading to a KeyError. + +This error has been resolved, and the copying of metadata to the modified image +improved. diff --git a/docs/releasenotes/index.rst b/docs/releasenotes/index.rst index 3e23e43d3..e60d26ec7 100644 --- a/docs/releasenotes/index.rst +++ b/docs/releasenotes/index.rst @@ -14,6 +14,7 @@ expected to be backported to earlier versions. .. toctree:: :maxdepth: 2 + 8.3.1 8.3.0 8.2.0 8.1.2 From 01e423da00c7039e447a477c21a7414a2ccae5e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Komar=C4=8Devi=C4=87?= <4973094+kmilos@users.noreply.github.com> Date: Wed, 7 Jul 2021 09:38:06 +0200 Subject: [PATCH 011/110] Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression --- src/PIL/TiffImagePlugin.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index a5e2bb53d..3f34cc9ac 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1577,6 +1577,9 @@ def _save(im, fp, filename): # aim for 64 KB strips when using libtiff writer if libtiff: rows_per_strip = min((2 ** 16 + stride - 1) // stride, im.size[1]) + # JPEG encoder expects multiple of 8 rows + if compression == "jpeg": + rows_per_strip = min(((rows_per_strip + 7) // 8) * 8, im.size[1]) else: rows_per_strip = im.size[1] strip_byte_counts = stride * rows_per_strip From abb192c9b39595839e4fcf227d43c80abf7032d1 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 7 Jul 2021 19:16:44 +1000 Subject: [PATCH 012/110] Added test --- Tests/test_file_libtiff.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index e2f0df84a..8de4f0784 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -968,10 +968,11 @@ class TestFileLibTiff(LibTiffTestCase): assert str(e.value) == "-9" TiffImagePlugin.READ_LIBTIFF = False - def test_save_multistrip(self, tmp_path): + @pytest.mark.parametrize("compression", ("tiff_adobe_deflate", "jpeg")) + def test_save_multistrip(self, compression, tmp_path): im = hopper("RGB").resize((256, 256)) out = str(tmp_path / "temp.tif") - im.save(out, compression="tiff_adobe_deflate") + im.save(out, compression=compression) with Image.open(out) as im: # Assert that there are multiple strips From fdfa9e8521a0b9436a6324f652c323a2e3a0b21e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 8 Jul 2021 17:08:11 +1000 Subject: [PATCH 013/110] If default conversion from P is RGB with transparency, convert to RGBA --- Tests/test_image_convert.py | 12 ++++++++---- src/PIL/Image.py | 4 +++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Tests/test_image_convert.py b/Tests/test_image_convert.py index 5dcdac0e4..b8c20b943 100644 --- a/Tests/test_image_convert.py +++ b/Tests/test_image_convert.py @@ -42,10 +42,14 @@ def test_default(): im = hopper("P") assert_image(im, "P", im.size) - im = im.convert() - assert_image(im, "RGB", im.size) - im = im.convert() - assert_image(im, "RGB", im.size) + converted_im = im.convert() + assert_image(converted_im, "RGB", im.size) + converted_im = im.convert() + assert_image(converted_im, "RGB", im.size) + + im.info["transparency"] = 0 + converted_im = im.convert() + assert_image(converted_im, "RGBA", im.size) # ref https://github.com/python-pillow/Pillow/issues/274 diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 124ca392b..c70d37cf3 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -914,16 +914,18 @@ class Image: self.load() + has_transparency = self.info.get("transparency") is not None if not mode and self.mode == "P": # determine default mode if self.palette: mode = self.palette.mode else: mode = "RGB" + if mode == "RGB" and has_transparency: + mode = "RGBA" if not mode or (mode == self.mode and not matrix): return self.copy() - has_transparency = self.info.get("transparency") is not None if matrix: # matrix conversion if mode not in ("L", "RGB"): From 4c76ed03a798bd1289f7e9bb4b86f6e5ded08729 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 9 Jul 2021 10:08:29 +1000 Subject: [PATCH 014/110] Updated harfbuzz to 2.8.2 --- winbuild/build_prepare.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/winbuild/build_prepare.py b/winbuild/build_prepare.py index 63270d753..a9ca8dd6c 100644 --- a/winbuild/build_prepare.py +++ b/winbuild/build_prepare.py @@ -277,9 +277,9 @@ deps = { "libs": [r"*.lib"], }, "harfbuzz": { - "url": "https://github.com/harfbuzz/harfbuzz/archive/2.8.1.zip", - "filename": "harfbuzz-2.8.1.zip", - "dir": "harfbuzz-2.8.1", + "url": "https://github.com/harfbuzz/harfbuzz/archive/2.8.2.zip", + "filename": "harfbuzz-2.8.2.zip", + "dir": "harfbuzz-2.8.2", "build": [ cmd_cmake("-DHB_HAVE_FREETYPE:BOOL=TRUE"), cmd_nmake(target="clean"), From a39cb04f3e1e464c4cba1a34f57ebe35188bcdff Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 9 Jul 2021 21:23:43 +1000 Subject: [PATCH 015/110] Consider I;16 pixel size when drawing text --- Tests/test_imagefont.py | 11 +++++++++++ src/libImaging/Paste.c | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/Tests/test_imagefont.py b/Tests/test_imagefont.py index 892bd0ed1..002641faa 100644 --- a/Tests/test_imagefont.py +++ b/Tests/test_imagefont.py @@ -134,6 +134,17 @@ class TestImageFont: target = "Tests/images/transparent_background_text_L.png" assert_image_similar_tofile(im.convert("L"), target, 0.01) + def test_I16(self): + im = Image.new(mode="I;16", size=(300, 100)) + draw = ImageDraw.Draw(im) + ttf = self.get_font() + + txt = "Hello World!" + draw.text((10, 10), txt, font=ttf) + + target = "Tests/images/transparent_background_text_L.png" + assert_image_similar_tofile(im.convert("L"), target, 0.01) + def test_textsize_equal(self): im = Image.new(mode="RGB", size=(300, 100)) draw = ImageDraw.Draw(im) diff --git a/src/libImaging/Paste.c b/src/libImaging/Paste.c index a1bf18a92..be26cd260 100644 --- a/src/libImaging/Paste.c +++ b/src/libImaging/Paste.c @@ -417,9 +417,16 @@ fill_mask_L( if (imOut->image8) { for (y = 0; y < ysize; y++) { UINT8 *out = imOut->image8[y + dy] + dx; + if (strncmp(imOut->mode, "I;16", 4) == 0) { + out += dx; + } UINT8 *mask = imMask->image8[y + sy] + sx; for (x = 0; x < xsize; x++) { *out = BLEND(*mask, *out, ink[0], tmp1); + if (strncmp(imOut->mode, "I;16", 4) == 0) { + out++; + *out = BLEND(*mask, *out, ink[0], tmp1); + } out++, mask++; } } From 5cdcc2cf64c096b55320e89bc0eaec51caa56fdf Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 10 Jul 2021 01:20:36 +1000 Subject: [PATCH 016/110] Added tags when saving YCbCr TIFF --- Tests/test_file_libtiff.py | 9 +++++++++ src/PIL/TiffImagePlugin.py | 8 ++++++++ src/encode.c | 6 ++++++ 3 files changed, 23 insertions(+) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index e2f0df84a..de18b83d0 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -670,6 +670,15 @@ class TestFileLibTiff(LibTiffTestCase): TiffImagePlugin.WRITE_LIBTIFF = False TiffImagePlugin.READ_LIBTIFF = False + def test_save_ycbcr(self, tmp_path): + im = hopper("YCbCr") + outfile = str(tmp_path / "temp.tif") + im.save(outfile, compression="jpeg") + + with Image.open(outfile) as reloaded: + assert reloaded.tag_v2[530] == (1, 1) + assert reloaded.tag_v2[532] == (0, 255, 128, 255, 128, 255) + def test_crashing_metadata(self, tmp_path): # issue 1597 with Image.open("Tests/images/rdf.tif") as im: diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index a5e2bb53d..2e1be52ad 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -93,6 +93,7 @@ SUBIFD = 330 EXTRASAMPLES = 338 SAMPLEFORMAT = 339 JPEGTABLES = 347 +YCBCRSUBSAMPLING = 530 REFERENCEBLACKWHITE = 532 COPYRIGHT = 33432 IPTC_NAA_CHUNK = 33723 # newsphoto properties @@ -1593,6 +1594,13 @@ def _save(im, fp, filename): # no compression by default: ifd[COMPRESSION] = COMPRESSION_INFO_REV.get(compression, 1) + if im.mode == "YCbCr": + for tag, value in { + YCBCRSUBSAMPLING: (1, 1), + REFERENCEBLACKWHITE: (0, 255, 128, 255, 128, 255), + }.items(): + ifd.setdefault(tag, value) + if libtiff: if "quality" in im.encoderinfo: quality = im.encoderinfo["quality"] diff --git a/src/encode.c b/src/encode.c index daa806ff4..5933e79a5 100644 --- a/src/encode.c +++ b/src/encode.c @@ -808,6 +808,12 @@ PyImaging_LibTiffEncoderNew(PyObject *self, PyObject *args) { av + stride * 2); free(av); } + } else if (key_int == TIFFTAG_YCBCRSUBSAMPLING) { + status = ImagingLibTiffSetField( + &encoder->state, + (ttag_t)key_int, + (UINT16)PyLong_AsLong(PyTuple_GetItem(value, 0)), + (UINT16)PyLong_AsLong(PyTuple_GetItem(value, 1))); } else if (type == TIFF_SHORT) { UINT16 *av; /* malloc check ok, calloc checks for overflow */ From b45fdd081722f8cb9f53563399ddde108c2d0c5f Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 10 Jul 2021 15:15:10 +1000 Subject: [PATCH 017/110] Allow saving WebP with icc_profile None --- Tests/test_file_webp.py | 7 +++++++ src/PIL/WebPImagePlugin.py | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index 7fdb32ef4..420594b0c 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -104,6 +104,13 @@ class TestFileWebp: hopper().save(buffer_method, format="WEBP", method=6) assert buffer_no_args.getbuffer() != buffer_method.getbuffer() + def test_icc_profile(self, tmp_path): + self._roundtrip(tmp_path, self.rgb_mode, 12.5, {"icc_profile": None}) + if _webp.HAVE_WEBPANIM: + self._roundtrip( + tmp_path, self.rgb_mode, 12.5, {"icc_profile": None, "save_all": True} + ) + def test_write_unsupported_mode_L(self, tmp_path): """ Saving a black-and-white file to WebP format should work, and be diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index b63a07ca8..590161f3e 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -202,7 +202,7 @@ def _save_all(im, fp, filename): lossless = im.encoderinfo.get("lossless", False) quality = im.encoderinfo.get("quality", 80) method = im.encoderinfo.get("method", 0) - icc_profile = im.encoderinfo.get("icc_profile", "") + icc_profile = im.encoderinfo.get("icc_profile") or "" exif = im.encoderinfo.get("exif", "") if isinstance(exif, Image.Exif): exif = exif.tobytes() @@ -309,7 +309,7 @@ def _save_all(im, fp, filename): def _save(im, fp, filename): lossless = im.encoderinfo.get("lossless", False) quality = im.encoderinfo.get("quality", 80) - icc_profile = im.encoderinfo.get("icc_profile", "") + icc_profile = im.encoderinfo.get("icc_profile") or "" exif = im.encoderinfo.get("exif", "") if isinstance(exif, Image.Exif): exif = exif.tobytes() From 43ea81c6db0bd359db1c4b87c3593c0825ce5f3a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 11 Jul 2021 22:52:32 +1000 Subject: [PATCH 018/110] For save_all with palette, do not include palette with each frame --- Tests/test_file_gif.py | 23 +++++++++++++++++++++++ src/PIL/GifImagePlugin.py | 26 ++++++++++++++++++++++---- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index 2632ab7c0..56da68d60 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -821,6 +821,29 @@ def test_palette_save_P(tmp_path): assert_image_equal(reloaded, im) +def test_palette_save_all_P(tmp_path): + frames = [] + colors = ((255, 0, 0), (0, 255, 0)) + for color in colors: + frame = Image.new("P", (100, 100)) + frame.putpalette(color) + frames.append(frame) + + out = str(tmp_path / "temp.gif") + frames[0].save( + out, save_all=True, palette=[255, 0, 0, 0, 255, 0], append_images=frames[1:] + ) + + with Image.open(out) as im: + # Assert that the frames are correct, and each frame has the same palette + assert_image_equal(im.convert("RGB"), frames[0].convert("RGB")) + assert im.palette.palette == im.global_palette.palette + + im.seek(1) + assert_image_equal(im.convert("RGB"), frames[1].convert("RGB")) + assert im.palette.palette == im.global_palette.palette + + def test_palette_save_ImagePalette(tmp_path): # Pass in a different palette, as an ImagePalette.ImagePalette # effectively the same as test_palette_save_P diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 5db310809..c5aca2a6a 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -414,9 +414,26 @@ def _normalize_palette(im, palette, info): source_palette = bytearray(i // 3 for i in range(768)) im.palette = ImagePalette.ImagePalette("RGB", palette=source_palette) - used_palette_colors = _get_optimize(im, info) - if used_palette_colors is not None: - return im.remap_palette(used_palette_colors, source_palette) + if palette: + used_palette_colors = [] + for i in range(0, len(source_palette), 3): + source_color = tuple(source_palette[i : i + 3]) + try: + index = im.palette.colors[source_color] + except KeyError: + index = None + used_palette_colors.append(index) + for i, index in enumerate(used_palette_colors): + if index is None: + for j in range(len(used_palette_colors)): + if j not in used_palette_colors: + used_palette_colors[i] = j + break + im = im.remap_palette(used_palette_colors) + else: + used_palette_colors = _get_optimize(im, info) + if used_palette_colors is not None: + return im.remap_palette(used_palette_colors, source_palette) im.palette.palette = source_palette return im @@ -507,7 +524,8 @@ def _write_multiple_frames(im, fp, palette): offset = (0, 0) else: # compress difference - frame_data["encoderinfo"]["include_color_table"] = True + if not palette: + frame_data["encoderinfo"]["include_color_table"] = True im_frame = im_frame.crop(frame_data["bbox"]) offset = frame_data["bbox"][:2] From 622a1cd5427ff1f2742fedd6775a92911aa603dc Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 12 Jul 2021 21:00:36 +1000 Subject: [PATCH 019/110] Changed URLs to HTTPS --- docs/reference/c_extension_debugging.rst | 4 ++-- src/PIL/GifImagePlugin.py | 2 +- src/PIL/ImageCms.py | 2 +- src/PIL/MspImagePlugin.py | 4 ++-- src/Tk/_tkmini.h | 2 +- src/libImaging/ImagingUtils.h | 2 +- src/thirdparty/raqm/raqm.c | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/reference/c_extension_debugging.rst b/docs/reference/c_extension_debugging.rst index 527b9d7bc..66175ea0c 100644 --- a/docs/reference/c_extension_debugging.rst +++ b/docs/reference/c_extension_debugging.rst @@ -339,7 +339,7 @@ Take your test image, and make a really simple harness. (vpy38-dbg) ubuntu@primary:~/Home/tests$ gdb python GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2 Copyright (C) 2020 Free Software Foundation, Inc. - License GPLv3+: GNU GPL version 3 or later + License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. @@ -348,7 +348,7 @@ Take your test image, and make a really simple harness. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: - . + . For help, type "help". Type "apropos word" to search for commands related to "word"... diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 5db310809..fe57e24e2 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -787,7 +787,7 @@ def _get_global_header(im, info): """Return a list of strings representing a GIF header""" # Header Block - # http://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp + # https://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp version = b"87a" for extensionKey in ["transparency", "duration", "loop", "comment"]: diff --git a/src/PIL/ImageCms.py b/src/PIL/ImageCms.py index 8c4740ddc..369909590 100644 --- a/src/PIL/ImageCms.py +++ b/src/PIL/ImageCms.py @@ -37,7 +37,7 @@ pyCMS http://www.cazabon.com pyCMS home page: http://www.cazabon.com/pyCMS - littleCMS home page: http://www.littlecms.com + littleCMS home page: https://www.littlecms.com (littleCMS is Copyright (C) 1998-2001 Marti Maria) Originally released under LGPL. Graciously donated to PIL in diff --git a/src/PIL/MspImagePlugin.py b/src/PIL/MspImagePlugin.py index e1fdc1fdf..32b28d44d 100644 --- a/src/PIL/MspImagePlugin.py +++ b/src/PIL/MspImagePlugin.py @@ -21,7 +21,7 @@ # Figure 205. Windows Paint Version 1: "DanM" Format # Figure 206. Windows Paint Version 2: "LinS" Format. Used in Windows V2.03 # -# See also: http://www.fileformat.info/format/mspaint/egff.htm +# See also: https://www.fileformat.info/format/mspaint/egff.htm import io import struct @@ -73,7 +73,7 @@ class MspImageFile(ImageFile.ImageFile): class MspDecoder(ImageFile.PyDecoder): # The algo for the MSP decoder is from - # http://www.fileformat.info/format/mspaint/egff.htm + # https://www.fileformat.info/format/mspaint/egff.htm # cc-by-attribution -- That page references is taken from the # Encyclopedia of Graphics File Formats and is licensed by # O'Reilly under the Creative Common/Attribution license diff --git a/src/Tk/_tkmini.h b/src/Tk/_tkmini.h index b6945eb1a..9852fc9d6 100644 --- a/src/Tk/_tkmini.h +++ b/src/Tk/_tkmini.h @@ -1,7 +1,7 @@ /* Small excerpts from the Tcl / Tk 8.6 headers * * License terms copied from: - * http://www.tcl.tk/software/tcltk/license.html + * https://www.tcl.tk/software/tcltk/license.html * as of 20 May 2016. * * Copyright (c) 1987-1994 The Regents of the University of California. diff --git a/src/libImaging/ImagingUtils.h b/src/libImaging/ImagingUtils.h index ad6f280ac..0c0c1eda9 100644 --- a/src/libImaging/ImagingUtils.h +++ b/src/libImaging/ImagingUtils.h @@ -29,7 +29,7 @@ /* This is to work around a bug in GCC prior 4.9 in 64 bit mode. GCC generates code with partial dependency which is 3 times slower. - See: http://stackoverflow.com/a/26588074/253146 */ + See: https://stackoverflow.com/a/26588074/253146 */ #if defined(__x86_64__) && defined(__SSE__) && !defined(__NO_INLINE__) && \ !defined(__clang__) && defined(GCC_VERSION) && (GCC_VERSION < 40900) static float __attribute__((always_inline)) inline _i2f(int v) { diff --git a/src/thirdparty/raqm/raqm.c b/src/thirdparty/raqm/raqm.c index 5a0b2078e..9f6be676c 100644 --- a/src/thirdparty/raqm/raqm.c +++ b/src/thirdparty/raqm/raqm.c @@ -491,7 +491,7 @@ raqm_set_text_utf8 (raqm_t *rq, * * The default is #RAQM_DIRECTION_DEFAULT, which determines the paragraph * direction based on the first character with strong bidi type (see [rule - * P2](http://unicode.org/reports/tr9/#P2) in Unicode Bidirectional Algorithm), + * P2](https://unicode.org/reports/tr9/#P2) in Unicode Bidirectional Algorithm), * which can be good enough for many cases but has problems when a mainly * right-to-left paragraph starts with a left-to-right character and vice versa * as the detected paragraph direction will be the wrong one, or when text does From 97e0cb85ee43e647e834e7adbe30b0b1bcb98963 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 12 Jul 2021 22:55:12 +1000 Subject: [PATCH 020/110] Keep transparency when converting from P to LA or PA --- Tests/test_image_convert.py | 14 +++++++++----- src/PIL/Image.py | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Tests/test_image_convert.py b/Tests/test_image_convert.py index 5dcdac0e4..9795de72b 100644 --- a/Tests/test_image_convert.py +++ b/Tests/test_image_convert.py @@ -100,18 +100,22 @@ def test_trns_p(tmp_path): # ref https://github.com/python-pillow/Pillow/issues/664 -def test_trns_p_rgba(): +@pytest.mark.parametrize("mode", ("LA", "PA", "RGBA")) +def test_trns_p_transparency(mode): # Arrange im = hopper("P") im.info["transparency"] = 128 # Act - im_rgba = im.convert("RGBA") + converted_im = im.convert(mode) # Assert - assert "transparency" not in im_rgba.info - # https://github.com/python-pillow/Pillow/issues/2702 - assert im_rgba.palette is None + assert "transparency" not in converted_im.info + if mode == "PA": + assert converted_im.palette is not None + else: + # https://github.com/python-pillow/Pillow/issues/2702 + assert converted_im.palette is None def test_trns_l(tmp_path): diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 124ca392b..622c43500 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1005,7 +1005,7 @@ class Image: trns_im = trns_im.convert("RGB") trns = trns_im.getpixel((0, 0)) - elif self.mode == "P" and mode == "RGBA": + elif self.mode == "P" and mode in ("LA", "PA", "RGBA"): t = self.info["transparency"] delete_trns = True From 45aec957172e111ee6e721e0edd00a58e92448e3 Mon Sep 17 00:00:00 2001 From: thak1411 Date: Tue, 13 Jul 2021 12:07:36 +0900 Subject: [PATCH 021/110] Fixed round error in saving apng file --- src/PIL/PngImagePlugin.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/PIL/PngImagePlugin.py b/src/PIL/PngImagePlugin.py index bd886e218..cd679d2c3 100644 --- a/src/PIL/PngImagePlugin.py +++ b/src/PIL/PngImagePlugin.py @@ -1117,12 +1117,12 @@ def _write_multiple_frames(im, fp, chunk, rawmode): and prev_disposal == encoderinfo.get("disposal") and prev_blend == encoderinfo.get("blend") ): - duration = encoderinfo.get("duration", 0) - if duration: + now_duration = encoderinfo.get("duration", 0) + if now_duration: if "duration" in previous["encoderinfo"]: - previous["encoderinfo"]["duration"] += duration + previous["encoderinfo"]["duration"] += now_duration else: - previous["encoderinfo"]["duration"] = duration + previous["encoderinfo"]["duration"] = now_duration continue else: bbox = None From 0521ac71e096eeca0c37ce772a5a3275c023b1fd Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 13 Jul 2021 18:43:56 +1000 Subject: [PATCH 022/110] Renamed variable --- src/PIL/PngImagePlugin.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/PIL/PngImagePlugin.py b/src/PIL/PngImagePlugin.py index cd679d2c3..a91393726 100644 --- a/src/PIL/PngImagePlugin.py +++ b/src/PIL/PngImagePlugin.py @@ -1117,12 +1117,12 @@ def _write_multiple_frames(im, fp, chunk, rawmode): and prev_disposal == encoderinfo.get("disposal") and prev_blend == encoderinfo.get("blend") ): - now_duration = encoderinfo.get("duration", 0) - if now_duration: + frame_duration = encoderinfo.get("duration", 0) + if frame_duration: if "duration" in previous["encoderinfo"]: - previous["encoderinfo"]["duration"] += now_duration + previous["encoderinfo"]["duration"] += frame_duration else: - previous["encoderinfo"]["duration"] = now_duration + previous["encoderinfo"]["duration"] = frame_duration continue else: bbox = None From ca16cf2aacd5a84c7819dcdbba3cc6a46649b83d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 13 Jul 2021 18:47:55 +1000 Subject: [PATCH 023/110] Added test --- Tests/test_file_apng.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Tests/test_file_apng.py b/Tests/test_file_apng.py index 7fb6f59d4..15e007ca1 100644 --- a/Tests/test_file_apng.py +++ b/Tests/test_file_apng.py @@ -433,7 +433,9 @@ def test_apng_save_duration_loop(tmp_path): # test removal of duplicated frames frame = Image.new("RGBA", (128, 64), (255, 0, 0, 255)) - frame.save(test_file, save_all=True, append_images=[frame], duration=[500, 250]) + frame.save( + test_file, save_all=True, append_images=[frame, frame], duration=[500, 100, 150] + ) with Image.open(test_file) as im: im.load() assert im.n_frames == 1 From 696b82e44032500197734c4dc4669d7c3f8b9371 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 13 Jul 2021 21:25:59 +1000 Subject: [PATCH 024/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 63adb8782..4fc55104b 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,12 @@ Changelog (Pillow) ================== +8.4.0 (unreleased) +------------------ + +- Fixed error saving APNG with duplicate frames and different duration times #5609 + [thak1411, radarhere] + 8.3.1 (2021-07-06) ------------------ From 63c3b26f6aa91740dff5ea041fc713cfb53aee51 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 13 Jul 2021 23:02:23 +1000 Subject: [PATCH 025/110] Fixed using info dictionary when writing multiple frames --- Tests/test_file_apng.py | 24 ++++++++++++++++++++++++ src/PIL/PngImagePlugin.py | 19 +++++++++++-------- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/Tests/test_file_apng.py b/Tests/test_file_apng.py index 15e007ca1..d48e5ce07 100644 --- a/Tests/test_file_apng.py +++ b/Tests/test_file_apng.py @@ -441,6 +441,12 @@ def test_apng_save_duration_loop(tmp_path): assert im.n_frames == 1 assert im.info.get("duration") == 750 + # test info duration + frame.info["duration"] = 750 + frame.save(test_file, save_all=True) + with Image.open(test_file) as im: + assert im.info.get("duration") == 750 + def test_apng_save_disposal(tmp_path): test_file = str(tmp_path / "temp.png") @@ -531,6 +537,17 @@ def test_apng_save_disposal(tmp_path): assert im.getpixel((0, 0)) == (0, 255, 0, 255) assert im.getpixel((64, 32)) == (0, 255, 0, 255) + # test info disposal + red.info["disposal"] = PngImagePlugin.APNG_DISPOSE_OP_BACKGROUND + red.save( + test_file, + save_all=True, + append_images=[Image.new("RGBA", (10, 10), (0, 255, 0, 255))], + ) + with Image.open(test_file) as im: + im.seek(1) + assert im.getpixel((64, 32)) == (0, 0, 0, 0) + def test_apng_save_disposal_previous(tmp_path): test_file = str(tmp_path / "temp.png") @@ -611,3 +628,10 @@ def test_apng_save_blend(tmp_path): im.seek(2) assert im.getpixel((0, 0)) == (0, 255, 0, 255) assert im.getpixel((64, 32)) == (0, 255, 0, 255) + + # test info blend + red.info["blend"] = PngImagePlugin.APNG_BLEND_OP_OVER + red.save(test_file, save_all=True, append_images=[green, transparent]) + with Image.open(test_file) as im: + im.seek(2) + assert im.getpixel((0, 0)) == (0, 255, 0, 255) diff --git a/src/PIL/PngImagePlugin.py b/src/PIL/PngImagePlugin.py index a91393726..0c466da51 100644 --- a/src/PIL/PngImagePlugin.py +++ b/src/PIL/PngImagePlugin.py @@ -1061,8 +1061,10 @@ def _write_multiple_frames(im, fp, chunk, rawmode): default_image = im.encoderinfo.get("default_image", im.info.get("default_image")) duration = im.encoderinfo.get("duration", im.info.get("duration", 0)) loop = im.encoderinfo.get("loop", im.info.get("loop", 0)) - disposal = im.encoderinfo.get("disposal", im.info.get("disposal")) - blend = im.encoderinfo.get("blend", im.info.get("blend")) + disposal = im.encoderinfo.get( + "disposal", im.info.get("disposal", APNG_DISPOSE_OP_NONE) + ) + blend = im.encoderinfo.get("blend", im.info.get("blend", APNG_BLEND_OP_SOURCE)) if default_image: chain = itertools.chain(im.encoderinfo.get("append_images", [])) @@ -1149,9 +1151,10 @@ def _write_multiple_frames(im, fp, chunk, rawmode): bbox = frame_data["bbox"] im_frame = im_frame.crop(bbox) size = im_frame.size - duration = int(round(frame_data["encoderinfo"].get("duration", 0))) - disposal = frame_data["encoderinfo"].get("disposal", APNG_DISPOSE_OP_NONE) - blend = frame_data["encoderinfo"].get("blend", APNG_BLEND_OP_SOURCE) + encoderinfo = frame_data["encoderinfo"] + frame_duration = int(round(encoderinfo.get("duration", duration))) + frame_disposal = encoderinfo.get("disposal", disposal) + frame_blend = encoderinfo.get("blend", blend) # frame control chunk( fp, @@ -1161,10 +1164,10 @@ def _write_multiple_frames(im, fp, chunk, rawmode): o32(size[1]), # height o32(bbox[0]), # x_offset o32(bbox[1]), # y_offset - o16(duration), # delay_numerator + o16(frame_duration), # delay_numerator o16(1000), # delay_denominator - o8(disposal), # dispose_op - o8(blend), # blend_op + o8(frame_disposal), # dispose_op + o8(frame_blend), # blend_op ) seq_num += 1 # frame data From e766ddbc399b30164a9ce195d072cce0a0054507 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 13 Jul 2021 22:59:49 +1000 Subject: [PATCH 026/110] Removed unnecessary code --- src/PIL/PngImagePlugin.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/PIL/PngImagePlugin.py b/src/PIL/PngImagePlugin.py index 0c466da51..0f596f1fd 100644 --- a/src/PIL/PngImagePlugin.py +++ b/src/PIL/PngImagePlugin.py @@ -1119,12 +1119,8 @@ def _write_multiple_frames(im, fp, chunk, rawmode): and prev_disposal == encoderinfo.get("disposal") and prev_blend == encoderinfo.get("blend") ): - frame_duration = encoderinfo.get("duration", 0) - if frame_duration: - if "duration" in previous["encoderinfo"]: - previous["encoderinfo"]["duration"] += frame_duration - else: - previous["encoderinfo"]["duration"] = frame_duration + if isinstance(duration, (list, tuple)): + previous["encoderinfo"]["duration"] += encoderinfo["duration"] continue else: bbox = None From a46f5cdd0a1b47403e5b4733110c3f70fa7a093d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 15 Jul 2021 19:38:26 +1000 Subject: [PATCH 027/110] PSD layer count may be negative --- Tests/images/negative_layer_count.psd | Bin 0 -> 5492 bytes Tests/test_file_psd.py | 7 ++++--- src/PIL/PsdImagePlugin.py | 3 ++- src/PIL/_binary.py | 10 ++++++++++ 4 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 Tests/images/negative_layer_count.psd diff --git a/Tests/images/negative_layer_count.psd b/Tests/images/negative_layer_count.psd new file mode 100644 index 0000000000000000000000000000000000000000..b111c2d5675ab2eec3bf2df52d2af603e006d2a3 GIT binary patch literal 5492 zcmeHKO=uHA7=4?hq{hTl%%O;f98ym$h*rt5u0koK5Yh;(dT_Iwq@meO*iDdtN5N~U z2Y(<~_29*`UOjjf1i>E=Z{E~{q6ej}Z)R;1O4EZ72D6Z>y!BC_&{8_Filxe9~ zwrA<-nTDXqRZ=WNo1)is(}|n_Osi!V=GFA_%Eff_Bce#+0H%=8bfyVxia1^E!=*l~ui7SUW@(c#OpEbD%N{laz9z6)Z!u@<3B)dWb)!z`@$d~$WUX>9fID}A<5kAKJmB2p zbl9oezBYgB2ORv({?p~S)5s3rjoe+?5I2t_X;(JH&9)l0>53&&+V+U4n!Z-G8*P#- zZ0c>RM%^TP3@U4`V+~c6yx?wu7L#}{80{`h$3e8C4o{@|m_Cm1j?T3iN$p3Q%x^D0V6&OMVeDZJo54vN9CIA2c literal 0 HcmV?d00001 diff --git a/Tests/test_file_psd.py b/Tests/test_file_psd.py index bf2a5fea0..f50fe133f 100644 --- a/Tests/test_file_psd.py +++ b/Tests/test_file_psd.py @@ -57,9 +57,10 @@ def test_n_frames(): assert im.n_frames == 1 assert not im.is_animated - with Image.open(test_file) as im: - assert im.n_frames == 2 - assert im.is_animated + for path in [test_file, "Tests/images/negative_layer_count.psd"]: + with Image.open(path) as im: + assert im.n_frames == 2 + assert im.is_animated def test_eoferror(): diff --git a/src/PIL/PsdImagePlugin.py b/src/PIL/PsdImagePlugin.py index e7b884674..04b21e3de 100644 --- a/src/PIL/PsdImagePlugin.py +++ b/src/PIL/PsdImagePlugin.py @@ -22,6 +22,7 @@ from . import Image, ImageFile, ImagePalette from ._binary import i8 from ._binary import i16be as i16 from ._binary import i32be as i32 +from ._binary import si16be as si16 MODES = { # (photoshop mode, bits) -> (pil mode, required channels) @@ -179,7 +180,7 @@ def _layerinfo(fp, ct_bytes): def read(size): return ImageFile._safe_read(fp, size) - ct = i16(read(2)) + ct = si16(read(2)) # sanity check if ct_bytes < (abs(ct) * 20): diff --git a/src/PIL/_binary.py b/src/PIL/_binary.py index 5564f450d..a74ee9eb6 100644 --- a/src/PIL/_binary.py +++ b/src/PIL/_binary.py @@ -47,6 +47,16 @@ def si16le(c, o=0): return unpack_from("h", c, o)[0] + + def i32le(c, o=0): """ Converts a 4-bytes (32 bits) string to an unsigned integer. From 0a7af1082731a0ec05354649556ff66f042b1deb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 16 Jul 2021 20:58:32 +1000 Subject: [PATCH 028/110] Instead of drawing border, calculate palette index before image creation in expand() --- Tests/test_imageops.py | 34 +++++++++++++++++++++------------- src/PIL/ImageOps.py | 19 ++++++++++--------- 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/Tests/test_imageops.py b/Tests/test_imageops.py index f7e6c68bf..6aa1cf35e 100644 --- a/Tests/test_imageops.py +++ b/Tests/test_imageops.py @@ -156,23 +156,31 @@ def test_scale(): assert newimg.size == (25, 25) -def test_expand_palette(): - im = Image.open("Tests/images/p_16.tga") - im_expanded = ImageOps.expand(im, 10, (255, 0, 0)) +@pytest.mark.parametrize("border", (10, (1, 2, 3, 4))) +def test_expand_palette(border): + with Image.open("Tests/images/p_16.tga") as im: + im_expanded = ImageOps.expand(im, border, (255, 0, 0)) - px = im_expanded.convert("RGB").load() - for b in range(10): + if isinstance(border, int): + left = top = right = bottom = border + else: + left, top, right, bottom = border + px = im_expanded.convert("RGB").load() for x in range(im_expanded.width): - assert px[x, b] == (255, 0, 0) - assert px[x, im_expanded.height - 1 - b] == (255, 0, 0) + for b in range(top): + assert px[x, b] == (255, 0, 0) + for b in range(bottom): + assert px[x, im_expanded.height - 1 - b] == (255, 0, 0) for y in range(im_expanded.height): - assert px[b, x] == (255, 0, 0) - assert px[b, im_expanded.width - 1 - b] == (255, 0, 0) + for b in range(left): + assert px[b, y] == (255, 0, 0) + for b in range(right): + assert px[im_expanded.width - 1 - b, y] == (255, 0, 0) - im_cropped = im_expanded.crop( - (10, 10, im_expanded.width - 10, im_expanded.height - 10) - ) - assert_image_equal(im_cropped, im) + im_cropped = im_expanded.crop( + (left, top, im_expanded.width - right, im_expanded.height - bottom) + ) + assert_image_equal(im_cropped, im) def test_colorize_2color(): diff --git a/src/PIL/ImageOps.py b/src/PIL/ImageOps.py index e06a7eaca..f0c932d33 100644 --- a/src/PIL/ImageOps.py +++ b/src/PIL/ImageOps.py @@ -21,7 +21,7 @@ import functools import operator import re -from . import Image, ImageDraw +from . import Image # # helpers @@ -395,15 +395,16 @@ def expand(image, border=0, fill=0): height = top + image.size[1] + bottom color = _color(fill, image.mode) if image.mode == "P" and image.palette: - out = Image.new(image.mode, (width, height)) - out.putpalette(image.palette) - out.paste(image, (left, top)) - - draw = ImageDraw.Draw(out) - draw.rectangle((0, 0, width - 1, height - 1), outline=color, width=border) + image.load() + palette = image.palette.copy() + if isinstance(color, tuple): + color = palette.getcolor(color) else: - out = Image.new(image.mode, (width, height), color) - out.paste(image, (left, top)) + palette = None + out = Image.new(image.mode, (width, height), color) + if palette: + out.putpalette(palette.palette) + out.paste(image, (left, top)) return out From a9fccfada1754a049f0e5c1dbb3eb69bb678ad86 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 18 Jul 2021 12:35:27 +1000 Subject: [PATCH 029/110] Added WalImageFile class --- Tests/images/hopper_wal.png | Bin 0 -> 6469 bytes Tests/test_file_wal.py | 18 ++++++--- src/PIL/WalImageFile.py | 71 ++++++++++++++++++------------------ 3 files changed, 48 insertions(+), 41 deletions(-) create mode 100644 Tests/images/hopper_wal.png diff --git a/Tests/images/hopper_wal.png b/Tests/images/hopper_wal.png new file mode 100644 index 0000000000000000000000000000000000000000..b6067c219c49324518e42cdcbfaded433964f688 GIT binary patch literal 6469 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 literal 0 HcmV?d00001 diff --git a/Tests/test_file_wal.py b/Tests/test_file_wal.py index 60be1d5bc..f25b42fe0 100644 --- a/Tests/test_file_wal.py +++ b/Tests/test_file_wal.py @@ -1,15 +1,21 @@ from PIL import WalImageFile +from .helper import assert_image_equal_tofile + def test_open(): # Arrange TEST_FILE = "Tests/images/hopper.wal" # Act - im = WalImageFile.open(TEST_FILE) + with WalImageFile.open(TEST_FILE) as im: - # Assert - assert im.format == "WAL" - assert im.format_description == "Quake2 Texture" - assert im.mode == "P" - assert im.size == (128, 128) + # Assert + assert im.format == "WAL" + assert im.format_description == "Quake2 Texture" + assert im.mode == "P" + assert im.size == (128, 128) + + assert isinstance(im, WalImageFile.WalImageFile) + + assert_image_equal_tofile(im, "Tests/images/hopper_wal.png") diff --git a/src/PIL/WalImageFile.py b/src/PIL/WalImageFile.py index b578d6981..1354ad32b 100644 --- a/src/PIL/WalImageFile.py +++ b/src/PIL/WalImageFile.py @@ -23,12 +23,44 @@ and has been tested with a few sample files found using google. To open a WAL file, use the :py:func:`PIL.WalImageFile.open()` function instead. """ -import builtins - -from . import Image +from . import Image, ImageFile from ._binary import i32le as i32 +class WalImageFile(ImageFile.ImageFile): + + format = "WAL" + format_description = "Quake2 Texture" + + def _open(self): + self.mode = "P" + + # read header fields + header = self.fp.read(32 + 24 + 32 + 12) + self._size = i32(header, 32), i32(header, 36) + Image._decompression_bomb_check(self.size) + + # load pixel data + offset = i32(header, 40) + self.fp.seek(offset) + + # strings are null-terminated + self.info["name"] = header[:32].split(b"\0", 1)[0] + next_name = header[56 : 56 + 32].split(b"\0", 1)[0] + if next_name: + self.info["next_name"] = next_name + + def load(self): + if self.im: + # Already loaded + return + + self.im = Image.core.new(self.mode, self.size) + self.frombytes(self.fp.read(self.size[0] * self.size[1])) + self.putpalette(quake2palette) + Image.Image.load(self) + + def open(filename): """ Load texture from a Quake2 WAL texture file. @@ -39,38 +71,7 @@ def open(filename): :param filename: WAL file name, or an opened file handle. :returns: An image instance. """ - # FIXME: modify to return a WalImageFile instance instead of - # plain Image object ? - - def imopen(fp): - # read header fields - header = fp.read(32 + 24 + 32 + 12) - size = i32(header, 32), i32(header, 36) - offset = i32(header, 40) - - # load pixel data - fp.seek(offset) - - Image._decompression_bomb_check(size) - im = Image.frombytes("P", size, fp.read(size[0] * size[1])) - im.putpalette(quake2palette) - - im.format = "WAL" - im.format_description = "Quake2 Texture" - - # strings are null-terminated - im.info["name"] = header[:32].split(b"\0", 1)[0] - next_name = header[56 : 56 + 32].split(b"\0", 1)[0] - if next_name: - im.info["next_name"] = next_name - - return im - - if hasattr(filename, "read"): - return imopen(filename) - else: - with builtins.open(filename, "rb") as fp: - return imopen(fp) + return WalImageFile(filename) quake2palette = ( From 426b730d3b0810fca59d4e0bcbc670916b890398 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 18 Jul 2021 18:18:56 +1000 Subject: [PATCH 030/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 4fc55104b..0e5f0d129 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression #5588 + [kmilos, radarhere] + - Fixed error saving APNG with duplicate frames and different duration times #5609 [thak1411, radarhere] From 1d73a483f42443c584920151a082ee6a9db4d895 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 19 Jul 2021 09:08:45 +1000 Subject: [PATCH 031/110] Added "transparency" argument to load() --- Tests/images/reqd_showpage_transparency.png | Bin 0 -> 17572 bytes Tests/test_file_eps.py | 11 +++++++++++ docs/handbook/image-file-formats.rst | 7 ++++++- src/PIL/EpsImagePlugin.py | 10 ++++++---- 4 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 Tests/images/reqd_showpage_transparency.png diff --git a/Tests/images/reqd_showpage_transparency.png b/Tests/images/reqd_showpage_transparency.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce159d0fc0f94f4955c4d4ef64b3f10e7074631 GIT binary patch literal 17572 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 Date: Wed, 21 Jul 2021 22:45:35 +1000 Subject: [PATCH 032/110] Prefer command line tools SDK on macOS --- setup.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/setup.py b/setup.py index 6dc4e1b77..b56e90634 100755 --- a/setup.py +++ b/setup.py @@ -533,14 +533,16 @@ class pil_build_ext(build_ext): _add_directory(include_dirs, "/usr/X11/include") # SDK install path - try: - sdk_path = ( - subprocess.check_output(["xcrun", "--show-sdk-path"]) - .strip() - .decode("latin1") - ) - except Exception: - sdk_path = None + sdk_path = "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk" + if not os.path.exists(sdk_path): + try: + sdk_path = ( + subprocess.check_output(["xcrun", "--show-sdk-path"]) + .strip() + .decode("latin1") + ) + except Exception: + sdk_path = None if sdk_path: _add_directory(library_dirs, os.path.join(sdk_path, "usr", "lib")) _add_directory(include_dirs, os.path.join(sdk_path, "usr", "include")) From a9489c23b31523ba58e4737bf2f0705c11378056 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 22 Jul 2021 19:35:16 +1000 Subject: [PATCH 033/110] Updated macOS tested Pillow versions [ci skip] --- docs/installation.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 5fe1963c9..48d81359f 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -494,11 +494,11 @@ These platforms have been reported to work at the versions mentioned. | Operating system | | Tested Python | | Latest tested | | Tested | | | | versions | | Pillow version | | processors | +==================================+===========================+==================+==============+ -| macOS 11.0 Big Sur | 3.7, 3.8, 3.9 | 8.2.0 |arm | +| macOS 11.0 Big Sur | 3.7, 3.8, 3.9 | 8.3.1 |arm | | +---------------------------+------------------+--------------+ -| | 3.6, 3.7, 3.8, 3.9 | 8.2.0 |x86-64 | +| | 3.6, 3.7, 3.8, 3.9 | 8.3.1 |x86-64 | +----------------------------------+---------------------------+------------------+--------------+ -| macOS 10.15 Catalina | 3.6, 3.7, 3.8, 3.9 | 8.0.1 |x86-64 | +| macOS 10.15 Catalina | 3.6, 3.7, 3.8, 3.9 | 8.3.1 |x86-64 | | +---------------------------+------------------+ | | | 3.5 | 7.2.0 | | +----------------------------------+---------------------------+------------------+--------------+ From 7998d0252fb00fbcb4b75b5d0904bac683f9fd99 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 23 Jul 2021 18:25:35 +1000 Subject: [PATCH 034/110] Corrected Python 3.10 support [ci skip] --- docs/installation.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 48d81359f..2b642bf4e 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -18,9 +18,9 @@ Pillow supports these Python versions. +----------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | Python |3.10 | 3.9 | 3.8 | 3.7 | 3.6 | 3.5 | 3.4 | 2.7 | +======================+=====+=====+=====+=====+=====+=====+=====+=====+ -| Pillow >= 8.3 | Yes | Yes | Yes | Yes | Yes | | | | +| Pillow >= 8.4 | Yes | Yes | Yes | Yes | Yes | | | | +----------------------+-----+-----+-----+-----+-----+-----+-----+-----+ -| Pillow 8.0 - 8.2 | | Yes | Yes | Yes | Yes | | | | +| Pillow 8.0 - 8.3 | | Yes | Yes | Yes | Yes | | | | +----------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | Pillow 7.0 - 7.2 | | | Yes | Yes | Yes | Yes | | | +----------------------+-----+-----+-----+-----+-----+-----+-----+-----+ From 4038a287eececa0d07b61005fb87292a25da80ca Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 24 Jul 2021 14:21:33 +1000 Subject: [PATCH 035/110] Corrected pathlib.Path detection when saving --- Tests/test_image.py | 9 +++++---- src/PIL/Image.py | 8 ++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index c4e6f8ade..2d661a903 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -149,10 +149,11 @@ class TestImage: assert im.mode == "RGB" assert im.size == (128, 128) - temp_file = str(tmp_path / "temp.jpg") - if os.path.exists(temp_file): - os.remove(temp_file) - im.save(Path(temp_file)) + for ext in (".jpg", ".jp2"): + temp_file = str(tmp_path / ("temp." + ext)) + if os.path.exists(temp_file): + os.remove(temp_file) + im.save(Path(temp_file)) def test_fp_name(self, tmp_path): temp_file = str(tmp_path / "temp.jpg") diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 124ca392b..7bc4d67b5 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2180,12 +2180,12 @@ class Image: filename = "" open_fp = False - if isPath(fp): - filename = fp - open_fp = True - elif isinstance(fp, Path): + if isinstance(fp, Path): filename = str(fp) open_fp = True + elif isPath(fp): + filename = fp + open_fp = True elif fp == sys.stdout: try: fp = sys.stdout.buffer From 89ab20fd1569f4a40245a16fb24b142928f77e35 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 25 Jul 2021 16:32:59 +1000 Subject: [PATCH 036/110] putpalette() rawmode may be modes that can be unpacked to RGB --- src/PIL/Image.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 124ca392b..d10fd1e50 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1751,14 +1751,19 @@ class Image: Attaches a palette to this image. The image must be a "P", "PA", "L" or "LA" image. - The palette sequence must contain at most 768 integer values, or 1024 - integer values if alpha is included. Each group of values represents - the red, green, blue (and alpha if included) values for the - corresponding pixel index. Instead of an integer sequence, you can use - an 8-bit string. + The palette sequence must contain at most 256 colors, made up of one + integer value for each channel in the raw mode. + For example, if the raw mode is "RGB", then it can contain at most 768 + values, made up of red, green and blue values for the corresponding pixel + index in the 256 colors. + If the raw mode is "RGBA", then it can contain at most 1024 values, + containing red, green, blue and alpha values. + + Alternatively, an 8-bit string may be used instead of an integer sequence. :param data: A palette sequence (either a list or a string). - :param rawmode: The raw mode of the palette. + :param rawmode: The raw mode of the palette. Either "RGB", "RGBA", or a + mode that can be transformed to "RGB" (e.g. "R", "BGR;15", "RGBA;L"). """ from . import ImagePalette From 55cec2a0d0ea345705b27c0e12e0ad30af89ffb3 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 26 Jul 2021 18:57:04 +1000 Subject: [PATCH 037/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 0e5f0d129..205002c06 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Fixed ImageOps expand with tuple border on P image #5615 + [radarhere] + - Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression #5588 [kmilos, radarhere] From a43d46e87af1962697d10a20e366524a6062fe71 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 26 Jul 2021 22:53:39 +1000 Subject: [PATCH 038/110] Corrected size parameter documentation [ci skip] --- src/PIL/ImagePalette.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/PIL/ImagePalette.py b/src/PIL/ImagePalette.py index b0c722b29..214059f51 100644 --- a/src/PIL/ImagePalette.py +++ b/src/PIL/ImagePalette.py @@ -28,12 +28,11 @@ class ImagePalette: :param mode: The mode to use for the Palette. See: :ref:`concept-modes`. Defaults to "RGB" :param palette: An optional palette. If given, it must be a bytearray, - an array or a list of ints between 0-255 and of length ``size`` - times the number of colors in ``mode``. The list must be aligned + an array or a list of ints between 0-255. The list must be aligned by channel (All R values must be contiguous in the list before G and B values.) Defaults to 0 through 255 per channel. - :param size: An optional palette size. If given, it cannot be equal to - or greater than 256. Defaults to 0. + :param size: An optional palette size. If given, an error is raised + if ``palette`` is not of equal length. """ def __init__(self, mode="RGB", palette=None, size=0): From 3abe5e884b84b6421a0a7aa298046b5efba84481 Mon Sep 17 00:00:00 2001 From: Alexander Karpinsky Date: Mon, 26 Jul 2021 16:13:01 +0300 Subject: [PATCH 039/110] Add TypeError handling to pass corrupted dpi value in exif --- Tests/images/broken_exif_dpi.jpg | Bin 0 -> 7743 bytes Tests/test_file_jpeg.py | 9 +++++++++ src/PIL/JpegImagePlugin.py | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 Tests/images/broken_exif_dpi.jpg diff --git a/Tests/images/broken_exif_dpi.jpg b/Tests/images/broken_exif_dpi.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c88b94630b598bb5d1e553c2c5d1177f4724ed3 GIT binary patch literal 7743 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 I@i2z}3!$1+p8x;= literal 0 HcmV?d00001 diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 68096e92d..15518756c 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -718,6 +718,15 @@ class TestFileJpeg: # This should return the default, and not raise a ZeroDivisionError assert im.info.get("dpi") == (72, 72) + def test_dpi_exif_string(self): + # Arrange + # 0x011A tag in this exif contains string '300300\x02' + with Image.open("Tests/images/broken_exif_dpi.jpg") as im: + + # Act / Assert + # This should return the default + assert im.info.get("dpi") == (72, 72) + def test_no_dpi_in_exif(self): # Arrange # This is photoshop-200dpi.jpg with resolution removed from EXIF: diff --git a/src/PIL/JpegImagePlugin.py b/src/PIL/JpegImagePlugin.py index b18e8126f..7d3cbbf49 100644 --- a/src/PIL/JpegImagePlugin.py +++ b/src/PIL/JpegImagePlugin.py @@ -168,7 +168,7 @@ def APP(self, marker): # 1 dpcm = 2.54 dpi dpi *= 2.54 self.info["dpi"] = dpi, dpi - except (KeyError, SyntaxError, ValueError, ZeroDivisionError): + except (TypeError, KeyError, SyntaxError, ValueError, ZeroDivisionError): # SyntaxError for invalid/unreadable EXIF # KeyError for dpi not included # ZeroDivisionError for invalid dpi rational value From 3462b5fd74e5e86539e7fa639adf4a52d53bf57c Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 28 Jul 2021 22:26:02 +1000 Subject: [PATCH 040/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 205002c06..3d30e05ee 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Added tags when saving YCbCr TIFF #5597 + [radarhere] + +- PSD layer count may be negative #5613 + [radarhere] + - Fixed ImageOps expand with tuple border on P image #5615 [radarhere] From 41b968ad10104d366a8f1fa01d1d8738e94d0ee3 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 29 Jul 2021 16:19:53 +1000 Subject: [PATCH 041/110] Deprecate ImagePalette size parameter --- Tests/test_imagepalette.py | 5 +++-- docs/deprecations.rst | 11 +++++++++++ src/PIL/ImagePalette.py | 11 +++++++++-- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/Tests/test_imagepalette.py b/Tests/test_imagepalette.py index ecfbda1d8..5a59b7799 100644 --- a/Tests/test_imagepalette.py +++ b/Tests/test_imagepalette.py @@ -10,8 +10,9 @@ def test_sanity(): palette = ImagePalette.ImagePalette("RGB", list(range(256)) * 3) assert len(palette.colors) == 256 - with pytest.raises(ValueError): - ImagePalette.ImagePalette("RGB", list(range(256)) * 3, 10) + with pytest.warns(DeprecationWarning): + with pytest.raises(ValueError): + ImagePalette.ImagePalette("RGB", list(range(256)) * 3, 10) def test_reload(): diff --git a/docs/deprecations.rst b/docs/deprecations.rst index 9ce2fe7b3..a00623782 100644 --- a/docs/deprecations.rst +++ b/docs/deprecations.rst @@ -92,6 +92,17 @@ dictionary. The :py:attr:`~PIL.JpegImagePlugin.convert_dict_qtables` method no l performs any operations on the data given to it, has been deprecated and will be removed in Pillow 10.0.0 (2023-01-02). +ImagePalette size parameter +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. deprecated:: 8.4.0 + +The ``size`` parameter will be removed in Pillow 10.0.0 (2023-01-02). + +Before Pillow 8.3.0, ImagePalette required palette data of particular lengths by +default, and the size parameter could be used to override that. Pillow 8.3.0 removed +the default required length, also removing the need for the size parameter. + Removed features ---------------- diff --git a/src/PIL/ImagePalette.py b/src/PIL/ImagePalette.py index 214059f51..676e452bd 100644 --- a/src/PIL/ImagePalette.py +++ b/src/PIL/ImagePalette.py @@ -17,6 +17,7 @@ # import array +import warnings from . import GimpGradientFile, GimpPaletteFile, ImageColor, PaletteFile @@ -40,8 +41,14 @@ class ImagePalette: self.rawmode = None # if set, palette contains raw data self.palette = palette or bytearray() self.dirty = None - if size != 0 and size != len(self.palette): - raise ValueError("wrong palette size") + if size != 0: + warnings.warn( + "The size parameter is deprecated and will be removed in Pillow 10 " + "(2023-01-02).", + DeprecationWarning, + ) + if size != len(self.palette): + raise ValueError("wrong palette size") @property def palette(self): From cf275737ee6abbd656fd352cfbe9618af35e8c5c Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 10 Jul 2021 00:00:50 +1000 Subject: [PATCH 042/110] Do not rearrange palette channels --- Tests/test_file_gif.py | 2 +- src/PIL/GifImagePlugin.py | 10 +--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index 2632ab7c0..05e2ddcbe 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -833,7 +833,7 @@ def test_palette_save_ImagePalette(tmp_path): with Image.open(out) as reloaded: im.putpalette(palette) - assert_image_equal(reloaded, im) + assert_image_equal(reloaded.convert("RGB"), im.convert("RGB")) def test_save_I(tmp_path): diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index fe57e24e2..ad97b81a5 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -396,15 +396,7 @@ def _normalize_palette(im, palette, info): if isinstance(palette, (bytes, bytearray, list)): source_palette = bytearray(palette[:768]) if isinstance(palette, ImagePalette.ImagePalette): - source_palette = bytearray( - itertools.chain.from_iterable( - zip( - palette.palette[:256], - palette.palette[256:512], - palette.palette[512:768], - ) - ) - ) + source_palette = bytearray(palette.palette) if im.mode == "P": if not source_palette: From d0a30ec369e5e786a709e27b92f5abf05213d187 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 10 Jul 2021 00:36:24 +1000 Subject: [PATCH 043/110] Updated documentation --- docs/reference/ImagePalette.rst | 4 ---- src/PIL/ImagePalette.py | 8 ++++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/docs/reference/ImagePalette.rst b/docs/reference/ImagePalette.rst index f14c1c3a4..72ccfac7d 100644 --- a/docs/reference/ImagePalette.rst +++ b/docs/reference/ImagePalette.rst @@ -9,10 +9,6 @@ represent the color palette of palette mapped images. .. note:: - This module was never well-documented. It hasn't changed since 2001, - though, so it's probably safe for you to read the source code and puzzle - out the internals if you need to. - The :py:class:`~PIL.ImagePalette.ImagePalette` class has several methods, but they are all marked as "experimental." Read that as you will. The ``[source]`` link is there for a reason. diff --git a/src/PIL/ImagePalette.py b/src/PIL/ImagePalette.py index 214059f51..36fb7fd13 100644 --- a/src/PIL/ImagePalette.py +++ b/src/PIL/ImagePalette.py @@ -25,12 +25,12 @@ class ImagePalette: """ Color palette for palette mapped images - :param mode: The mode to use for the Palette. See: + :param mode: The mode to use for the palette. See: :ref:`concept-modes`. Defaults to "RGB" :param palette: An optional palette. If given, it must be a bytearray, - an array or a list of ints between 0-255. The list must be aligned - by channel (All R values must be contiguous in the list before G - and B values.) Defaults to 0 through 255 per channel. + an array or a list of ints between 0-255. The list must consist of + all channels for one color followed by the next color (e.g. RGBRGBRGB). + Defaults to an empty palette. :param size: An optional palette size. If given, an error is raised if ``palette`` is not of equal length. """ From a9372d5cf0aa6a56f6e4aa5399f01b2485b1012f Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 10 Jul 2021 23:13:46 +1000 Subject: [PATCH 044/110] Fixed generated palettes --- Tests/images/palette_negative.png | Bin 0 -> 17070 bytes Tests/images/palette_sepia.png | Bin 0 -> 20339 bytes Tests/images/palette_wedge.png | Bin 0 -> 17065 bytes Tests/test_image_putpalette.py | 8 +++++++- src/PIL/ImagePalette.py | 14 ++++++-------- 5 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 Tests/images/palette_negative.png create mode 100644 Tests/images/palette_sepia.png create mode 100644 Tests/images/palette_wedge.png diff --git a/Tests/images/palette_negative.png b/Tests/images/palette_negative.png new file mode 100644 index 0000000000000000000000000000000000000000..938a7285fd75af8fcdb5e5857e05e9674b9ae337 GIT binary patch literal 17070 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%0DN|MLC=0`L9H+oFLFil*`C(bS9|Oy`Ir!0kQo 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 F{{cuUG`Ii& literal 0 HcmV?d00001 diff --git a/Tests/images/palette_sepia.png b/Tests/images/palette_sepia.png new file mode 100644 index 0000000000000000000000000000000000000000..f3fc932531f9b73c8d214e7c236c556ab3775d22 GIT binary patch literal 20339 zcmW(-1ys~e7o{5{q(M5RK|s2ZkOt|J4hiX68l+<>=~zlYLXZvt=`QJ(l2iSutcwXMzEMz-W9$>K}3qEwW8e*z0i%59c0|AFQt_KsxFc-aCn$; zTRr-gd@(bT&sb@+V*7>gz1iqtRiz&HVANoE9-T(iR_HJuv_|<=aNxMW1?8?4LXVz0 z{=33&3+0a|-+WH+f1pN`sMa+%H}8Ar9y~X-{#NEL3l?AGL5&-_H|OAXrhsV`&irKO zB_mB1Xt2blD4E#*Tx|KZX26B_rK{o3iGAYFUo`6dojvw5JMMcP>@h1xO-k?ya&~46 z+Nexe&dbb54%$YhO5&=t7BIyFj>m%z%Q!{&1d<1eex=$DrZ5$LBwqEq?)xyPSSH0$ zeDp9>M0;t)nT<7c`#>6=sHn`R|JWkF@!GRvg0uI4Q&^Mba!94|{@|<}x?knk!`PRi z(GnN0TWm`bZuvDstLGf*m@)pt@Ze7>vLtGpy+Nu5Yj(^DJ;hE-@|BKIMpH56n^8^=SB%v?iq_hjY%Jd#)MXk}rC%iv%_=;*qpwT$ zl<9K&e8SSgd!s*PS2{}W!a~WIFsU9 z1O|1D=zh=|b}<^_Q<~v-7z&>+Bz*@ zRcst{J0=Duo67*N(`<3E=QNn&&O=z3YyJJ5!LbyZ9?CA}`?sUPk330l^!;rX z99GwmM)|Nl5?j8tp8M9G@W5xHt|%#|hxiV=393PZH)+nH?sT=ZuEsKBwEB*z+lsjd zl1S{&fD%W}Oc2)E$JjSD;A~l+si>@LwR`6qt5MG@kj#zsk;@sYn?$h6F++r0_3|c7 ztWLxB1w|TRc1&DmzFO04*yC7Ei&nWu@%a~UC_0Ly;gG)1yrelJ=dBvBN~qlrAH^~a z*yqE~FVd~v<(TwjoojwUH+t}FD^50BtW}(8c!%{}N>A^tx=ZuMBxk+SrX;frJiA3k z@n& zzB7>*IkoJ(DJN8u=dI>q#!gp6X$N5rhAi8S(g8IIu`ICtk*E33Y2aUd_+z+rnjA~y7{4UtJm4rk)( zvqjmEn4KHZ(%MCEy5jWB%?ijc4%XuwH@*H?oX&@Z=$M=vm10kcgcM=z=&!jlWShR! zne{d9AjKJ6j z$cTkv%2lV!x<6EohWvYlN7x4KU;%^MEiN~{-TtiaTuHNL&(~9wy|k$llI=P2%7Aw) zmKikfOUUC62J2{y_biIE96w**mXVln%nAAR^1L5AUs@l>3QIuIigL_|+bkwnuiN2} z{nZg1)>%HLQqtJIiG?}uRkz$HMUj<#m-c*7gx1yRBJOg$60{j`-(vmsUjQqfnD3DW zcP{hajreR4jVky5=Qzs;VG#fHziWqsHb*7nYGC+IC?taE2PNLTGTGI$El& z&`|=xjfxPd90C`k>uRcPF+RbFhd3E&_ow?0)ygm}R_-o$(-pAU-E*sN1vBxaBp$6h zPG`(Hs?INcAiQL+gdr~L7XyV%ag;fk1JztpVKPm#Z?G&E|GJ5tZf)jv*9-a{o&Abm zy&p__Uhn<6@_15cVA$6%+~H|z*PM_J`RDivF&D{Rz?q^3TMZXwDr(@Y}Rkt*CS&3Fjsy-Q=i| zZItukY_PG7LS->>-@a5ov3)~hG>OOo-l$_2mYl&}p=GXx&% z7k{by4rR6Ys4Di?n-Cj)yyg8$8PS`!tRIaA|AY70>6rhyXKrJCAJqd8#@ z|DRMAn)(~#CEAHM_<3AiK zR#CTt>bhkM-cP>PPz|a8H-kUpe9~3ISX%SAx9J@84nu5nLSYUR^*ZGqU;l}nsua#} z&NZ9(ZArrX;DvmTCcEZ`iK)Dun-g$t-m$nldz7ynzCB9Fomy5S?2K+HFhrvz`ywv+ zW>^i)H@fL5>`KoX^7fSwSp0zei_CmnRub2fKWE7{6Xs&v0?DT$$ETeBDEqImCEhd9 zp<44I_9ZgZu-9qXQhgnAbP@*77cGb=KTC8T3t=}bQh2TzSsXG@6Y$;v1V{q5|LyS zSqcv7FGrsJU~W$v2-D(VD>O}R{XlqVFZLQPolm=oxt!gY{n>cv4eRREJ9dhT(+58h za$xe*1wtfW6a_IN#d#^;(Lk|`pbv*m2-L^`u%Zt;oZ{!%#5(*{8+7btcc1 z1G^w1SpE`34_yXr^6QKCQI3vSL^TNtVaPbFHO{5(SKmH<)}u(ed@438RbSjV#Tiwp zgc_jP3z0tEe2kCiTJX(DQw;t2Gdsog{`UBh22DSJRcE-D{k2S_TDjZPfcRak8;^tD z->&%>GZOIg!1ZcuSY@EYoQ;-dzueWC(Q(2rwAE9C3aVD{j>pv!!y-Q_;`MFGbB3b< zmA~741o0}%*2cD-HJ3Bm`=NTAc(_YhB{Wth!xwv&+#Zs|K3Yo-t8iz@*M71hRHCLR z9o$w?3TyW}xlcQStQ1I{vb#aM|8F18J9g()V`x>xZ4m{o$ ztaAsOb#ocNy(V6LSV#tOx6}Q?i8S2hxXpJG-9#3g4JiF`-<~IC9Zd`N{5EQm<;g0= zNNKV@^|=Ee-Cso8;25>we|JkII9i<$EBXW*E5aub_j~-VGsq5`CXN?nHg2fyFZ7QZ%=2K@f+>43` znl0pXsJ^}}IMB%D$pPo41wF&^=o+4pagV_J10sYffLPx1UObJk_mLJSuk%{3YA6zZ zKE1`n3<;XDx$d~FXF^4^c4-25wORlc_57~E@ok(i#4KOy-^0MY6E!=v6i#&zponx(+f9>??aZBI* zIA_9~<4CaEspBMR6N~*dA1SHRkGr3roFJ~xVp2%3>D%aIX4tswo=oG!5y4%ypvRx{ zR!}S6f|Y@^=-s~i$Q1u4)!Wgw-teIIgtwPorE9~L@>UKRkMu5B}{do+&o}=VQ)1Nr` z0~QMQb86tkuC8wrhEH(3y0l;Aq^o07oGwGTj_|U!=0U5%@IbEnW30!jOZc|_&z1fB zVxF>oUXy3`tiQx20h`0~KTpW2jK428x3#UTwz~V??_Yjx=7oHL1aGc7tfKJ{aSYMH z2MJREKzGpgK8SnmNXr}{H)4r35&j@TI7dO2{x=!k#YdMW&~^u|2O^&)r0c<^6`Nuo zp8h&P4w{HZEi}x=&Qap-H-?-I`57TXMBsxbQx(Kp|K`q0~CtP6AoieNY-xd~F z_=n59LZqZE?!LmwScP#`C7SkaBU% zn|13ziqqNVnm>G>dxs?3{qeRe-7*X$X7w)Q{NFKT`)9``c=Lpvu7yl1us2IB)_i2I z79p$cpke2E-$%MXsw&zKGp(9Xl7X^?)05=U1+)fy?HK@sg@fQw=R#m53rwzagQmt& zkC_PevTL-{h0?RXY=^V`^J7~$DaL!bK2Z8VCpO130+yl7J+LgWD1d?}kR20*)cg zI3?YA*{se#WLtrOQLG7)yV;ydsLxT4CEW)3{0&5gWz7{>m!V!oQ_ycs#ik?Y;`G+r zE}}U-j`~jl)iVyOxG9*qXRW_lcd174v_s-YZ$((b36uiQ5?+!Jk)Ud=Y=+0dZRX_% zXPKKIH}ZLo+gyTH##F*p8d=D{|2Et#-HJIm3X8(?>DRBh+{gG*HfMU3oNN^%y^6|9 ze(NX&X5{0(g3bHmMFHXL=G(5>e8l+-b5~nfljqp(%)y)Km(O8lX-c57fOst?Rb*fs z*HTRmh&$%&vr3Q;afZr@G(D_hG*_Yw4< z+6$p&-ya5G=fp$_tQ&>(E8tw-l9EcRg9sZu=d9#oqWh?e#)k2-OUju(C0+NxaizHp z8(H1Z{O#<0reax}uUumJ{N6Npq?3BK5ZmyZ!I2jYy67u(${^{!8-G^_fc6Gx^kqHe;#CX|gO#CuvTpp=kOHuY1)M2k^DP0-%4Jr6IR#;>~iUzm> zYgxDT=Xl`nyL81=?G)VauU%~dFVO)j0me|fP zKLZi+YoSWmP~TR{E%J3oy`kNI$@|>ypPb0;J(l@x&fZ2nrePQN2a+NRm%1O#Th!>m zuA>E%R!(`8xRB;PZbC`Pa4vS?Tev4R`3iVanKjj6yjt2%-*3*;Og7kXgsOy{m;RrP zt@G_Qvx`|VG5?l%F??SMB~(^;n0dI3f^y4V$>$VM9Y(SCva60F;zE(73K3bn2|`sw ze4AiNG=@!k` zJY!sGUKNV*-_o9sePbTm*e9pMo>$m`imyjNp7(*`|saCKgk1{{U+MR zm(8rkBWDkxde1TD=pI#YrsY)evV8y)IyN|&il11h@uXW;b^lC2T>1DGS7%zCm3zWr zwbNWx?l)T3IF{hsX{J2UPWtLL!8BdPn7aO;$w2LV!RQiVX;YNO!^lYtoPmQRwy;w~ z=T-T@rl?2+7?zFm#pJ?WF+ItwPiCBOk3M)$y9~zGv4j6^A2o+E4Le)dK<52UZMd1= zooQUpkdIScLhP+&vd%k}OOxXc;{Ljs+XE?nqTC1VQKZYP%z-SC0IyGsymkhHd2EQa zVU%(*YvJ`Pj4#k;Yl}tk)LppKsKXQ-^E6mf&@hF&Yc;5c%sbQ6^l%EI>E9R(Gx)K+ zQ~U%I!mIWzF`_hP>Sm}!-KQW)#Ar^GDCc- zVm>5e8vFL87KzRL{Us3kmy6m@f4yJzAukZfd=)?-ibeXl;%S&R$V!rXBNY&DO@!Ir zFq)L^OrWIgbcL&&9{^{0ZMq18JO8K`Q%V+;6(UM;!ORQ}dMaV>qI9MIkOYUBffWt; zb5ENuhTd~WgXMfGx{ud!yJ&`1=yk85`E-K{g)o-y83teUcXNZkB~b$*bs6(}P{BfT zei{3ao__p&Zd(UeiZ?@NMagEhxA@RK`*`lo)enka>hmV0IFjNqfjMl^Mmhr1sRzstC2ha#}Sp$(CWVFSqpa^JoKkg<@ zNN~yJMaDia=NjllqIK3vZQG@>Ub)u4Mk~eB5=6XI6T8@du*5^qK|oI^pj@|{=3I{( zjl*X`FQ=nsKIDXrxR$kasrR|d1MrM@5DYaB)l)Fk2!u!A%VB+28H(KvNGMPXOUJNh zGDS&NJryX4$q_H%*8tkAXFpFI6EijVtHr8_&Dkiz5SF1upByDPimQ(ZML2y8Q$Byy zM@klMrkCHdh6HF9wWiB_OC)>I^{bvdoORJITz z{nT(T<)4#C{+nJ|uFu7NE&p) z*+Nx?hl>XHT+cTRMJTxcZ55kCKEaiOigg8QSeQdax+>qI0NW7T)`o`1xY2W_mN{*1 zHWJaB5#PLa+ZDu3I(VVY#fAZLG0U*6!miE~4S3iiAh@MCjE8%TJR@y_;W4LU3K8f$ z=J**4Hw*BoX~$ki(=)qyI?|Dm60B<3rocUX;Ox{~ z@CAN?qVhXRj9FS-V)5HvPCRXz<5->5vpNSn_L->=zgV5;hhERY`qAE>0e+8dD0vvf zX5J`>X#zGmU7g6-zv+dl>`9_lkO?m^m|-WYO$IdypLsLDebsV6zHxJYGmWK2Uiw2{ z73RKKDx7TY*)fOScJPkTW{xz-?mvn}ne_n#>MIm7%B<`peKA~2g)Cb5UwdZ}^=s5s ziGF;V%AnM1>(|iUg%*7aNIP;yv%roVp;CJ-W36uHx5%%M#7tESy3bZkrzURW$FDepLzFv6 z)vX4&$d}A}^yyN{;#!{?oVH5L-RwZ?V>rU|et-z@xzI6yAuh&zAes-JM#AS<`MyVq zjq1oQw3l!N+cg6P*GSK_QWi!^DL9I@JVKu`@&O8fC9k{jw63gLZ0p8L@#|E%vovDH z^~l}>4IwPDHLZ7C_-9lTQVBY5zVpqyY3O#^lfjuA9q!At-!6Xd5!Q#*Y?>38{}KSE z{bry~e5X;GE4EYfO4?GUiwmp!WJ-aHP67X-;sEEZah1Een8k=zUUtYv0ap&KOd9So zm!C&;cpr~`T@*%^(F*2A4h{jb$^dSvu_D@DzoiD{As*4~83WP928}PyO|zGn$+RDV zfW>dMXjM4#+31 zA$!l>=dt3D|InhU|Mq!2WRLj+P=rQ08mNt4)6<<6f>5XurcYwE*o@Utje3<3Lk>Bg z(lX!Zj{gLp4?Ky(V(6o&>f1Pbz2eQrOC3(4#~Dg@Ji)iDk$MkzkvA z)Uf!EiVmqGy$FX2^XvPUm+grS3J;$rz#_Pn{$qB80fQsUzLs<}|Is%` z-h~=w1bBYKe{1%~Pq5STL<9iJNmbkF5~xaEYRm58tG|U#yI-E?`9&%nR2p*=qgIM| zKhQuY?Ft1*8i9tIlAbU+Yp?WedOc4FH4bsvdq%WZ14d^@EQ;8)j=#u%o2GEPCeKKi z--d4@P4c=l&xO1)C;Zsy(1(|l@;dkx5uu>IhVL(kyJw^?&WRNOxSM6){c_A1p)X@& zhG4UgpXdMEw{iKcwY{D8_+lvpHeQ)^T2H^HjbHZyKXEAgCp-EGLAUr*ybZ+M`hVe& z5c}AMsK;%7L&Hovb}lE+9_RPtvhL_^)glQmRQhCsGTHQ)9E(>N&IEEllprdhp-ec zmjGanvTCr9VUexTQbQc4Q&>Ynew(3XQTg+P1Y)(_tbQ=p4>SOohiMmNZ7<0fQMrsbmiVq z9y{M{HFeC&%Z@J!J2TLmw)>dvyC#1c9Qvrxk2VwPETMbn!c^)vllHzHbFZm5z>vk# zl)ucyf*BV_8JF)~9Scu_k4LVuNXBjB`1np+e3&<;<8g0<)9-1n)LRUwN8?)mr1|oE zo6V5yW|iE=-?64^)QLLFIbs$hkEz4suv(W>+e)9;P10IBr^~g7lac}sJS50q_`Wk_ zr|e<6sH)L(e#~UI|2a+kF)X0`sS=NgLbkyrLL|~JoU6JBo#30y4ywnan2w_8 z4D%$mD6I=jxyby~g10a&Hles>9NpouVhx>8)=pT)C{v(WezawnT6@f^T4hiZ(!LpW zNG@Tpz%ZK9ZO92_T9Xhq=^{ChQIlje^*vdWVrgmZi=ega2hn}6=oiCg8A{mWT2FFd%6yF?^W$m!5e)f(EZBi9dPvw+o-XKi`%@#WTiz z5s{>brq~xKq5cae0pHyzT&ix01s?LSA9NWzzo*5W%Z2bX=>iE->eA_D!i?w8xD_TNAb_SYz|4C!8r;zrpEmL24r7LT6&;|PH*o)DBK==Dkx_vJJLE@9@S0m zm`lyyGpAYfrU%iE(xPNgh)TjizsAG>w#L7l;TKR3UwPlabIdthqaw~VC=U`NaQrEo zI0-HX1{Pho^V=qKTs5A_3-6j&+jiFvVaRuk|98;1QCRC%d0@`pEGb)kVjM|=8&f~t zLQ44*N$irm*<4B&2$v1X7ekeey`g+jbrA0}@dLL#LCx@k;=T%9>%mAI(mP5D!rBX` zeQf2f;CmcZToPaW=+khmcAJO#6_gou44fanxVqpv;YHrg5!o0KaZf_}C*}Ir2_O%reJ{`ZW&6YCQ(2bUGS82<9*uT( z%lJ6(BlAd2q3wP#k*#ZD9F=@8DEmiMN(9NtJ1NhxED$W3VHjs^o${a^dYj>c-0{Iq z%o*j3ZMYXX`c_cWM{8UuM6dXrYkf_eW1k*0>7oAe{bH?3u8_~&bYgP+tJyZPi{USu z5u&QV&1ILa=ibII#UeYAh0&?i#gmVy%Dz;|CoaFT+uAW?f=@Rr+oKh!+n<@3h}X>{ z4SK=i!iT3Owh>niQ-dn^tUP7)7vI^YLN6}x0rv->d@0qed0tjN237?|Fn}KvKNzk7 zCU07(cdUDL(Rz!Uc~Eu9&s_pMTtK%XBkQ_hL(H* z@-(}G(YBo<)DBpg<9kZ2g7bA)Ns=(L%7QECAJm8YcC02TUbaP$ZU*oygfix+U(Zs` zy=VBTB^+i)zTLS7r}2>PnJwwC7;nVjrZ$*6 z^Ewd8t%xzf=}RF)^p>Yx{EbZ}o4rBf}xh6I6@dT>UiY$0H)?geh1S*L5X-u^w3(r+3K?(kfb*h{`OV7&}NHE#eBPF?O zc)fFJ`Xhxt2(w97h}5>>k+jhkf}7XPn=9(M2l}N(&(&8zy7A6^J}em_a*x6KqiD{KM3o!wk8C9W>h0UGU1C)zASYXe5haro0POOZ|4DT}yOAy|oCU@< z0PYFvzdSTp<`2U73`@k|)8Lp^Mk(%da9IC%#@bJ{DR>t?n^ArldrSMStLlTx&&IQU zaB%}!urseh8nqUvKy_2Vo(5VuAZ5eP=_=a}!XXEv>eYd+kxuCQQ6QyKO2~<L5(%oMRM0yI02htpEYOnLQLdYW+uzY8|2gq4}P`7Wk2{TF%0 zO#J#9Mu1)TPFh+zjyE)053!GQ@P$FZ&!E*&(40NnaXC}=&2%xe+mHa|14YxI3oCZd zPh)v+g&L{oq*D+*29NGnfdG#)08S-N55e?wFrZ1+?M?TY}!rqh0wfWKyiBXrW*P^0RxwU@*jTYJs0iq zIbEkK^9d8n1);&pmBU0bO+|DT+lB&!I2}yYZ(mwGS98ocTmT7Fwr@HT`sg^s_LpGK z!iz@;aJCHh%rOvas@z`!GtVst6kW`oZ+Fj7u%vgZ-R{iuD@u0FX`%wE~m>RdkF=KA^8*e-> zfpSCgBAsSD-ro%ivYRSk1mgLmN7I(wkHOPP3;*Plk*~#d5t9kenK+7Bzxi;p#QwTV zw&%^lW%!iak5LSbt6=NH+N}T;5_O{kM}PxJmKs)8U!Lfo zWPv9k{7}AUm+9N^xGdq3u8$m4_Bgasbu6yX_x2b6PR(TJs^V}m+&MiWfH zf;CqJiF!%bMQKt|;V}n9sNBoLWLD~fBt>N?E2V<>-I&6f|2ie%%kP@r$1Mgy?^72E zpzo0b+HR2Vg7=0wS~>reWPO(&cU9U5A4G3Q$~*FxpZd>Apf&sj!`zYen~{W&l`Imo zE{VG>axYmh_McR}YfN{KtG-QD>Ov`gxxe;njo^L>E^+}>)+Z<7A1slS1vtYl%QhA< zgxEH7KmwxU5<81{|7*lr>sk@k7M&&=yZdM;B>$}wb23fx`5hADsoybRGOFf5enelp-$+IjUKW_bZ1eGU?U98A zd8E?dX=`>H%}A1_U)5JC^UxxODbB=2;uF>XXQEP++ZOCf;IOF-nTgdgd5Kpj0@VP< zERMP6vxGehAkK`VAei%#Gy=yw7Ru3v>&N=0cJ~A8kRV}_M&P)7vN^B@3Ij|LSZneT zcB1r}yJmjn>~O=j2hINhFEvoD9qc`05k!hU-*wI_1hBBbJs=qwy`uOmb42Z6ByNs&mHeCImeo37qPCnA= zA;P>BYgwg)AGK{;zxx7EpE3R(!O4$&O@2lc@|AH2H##oaiYDI1fYDbW|Ffyz5LVZd z{Q-H*!{6p@JJh;Vl~By4#`VvSxclHVr?663vwuFH`zn@!G7ey{C~pyJaA&#a#*JC` zu>-bdvjLWl-U{MSdPz| zK;KMTgxx@|X;GVrCM%7KObaMyUfoFgLnl3{y(DJdO6qZ1N4imKZxmdaCZnT zaADz}Do<>#0rwDaYYW}(uFHMPRS2^rA~mLS=yd|VUR^6R!>?1F8;=_fuc3;e!2Qn3 zU9(`=(V(^ZN)Q;7csreduzbVcwD~V61bKr<{COT#S8C}2Nc3)El4Nm~HVsZMLrj0w zKG3|HW|$6Hp2nE>V&$gk<|ZW@d^rUC05H3ICDo@V%;%>R;-~8m(C{0~eC@n?J$!B~ zjpYD=UQhIhcOlfp?I<5Vr4vGTcs-{Yl=-oXc&ra*$5w78RAuP(J}-@H(Y7|U!+$3H z{B+~<>ENP_E@!7j0uW2(9u{)sDW1b4zdG~}9NQltPwi%5}N!->jV zea9PB*k@o^0b(xrqgthX8+p3Z{JocN59rUN;e)EZ`;sA5li?IiM`K}kLdqkVa^C>M zo`AoCgj}Y0`zJ(P^>fp-xjFMJ&cH{Kip}OB7*UON*`)VT7%#}m!TPv#B~Utr*Y03SMWxP*i3bkQMVMbuSD!@PWY+v}uM_9ul{)c>=ml$O)k@ z!b(yJ%cq-@tk$={;2F>r#voTyNa0kF!{rB4r38+(RKP#Nx7Rws*9Qp4T1lQpSbhZx zPVVjKi*)AjF)I?`uSQI5sV?VD#wO&;lxNy%d?HpP;T@Y_g?oMy1GSlU=Ae#f5RR^QUm%T z4{#x^ueaWuk%JpW?7GCMLkMyUDkFpV@79kDUIa)~!l_FwbstPoW0GU&rh4?y*Wb)h z61lo`tG(X7GF=0Pr)8s6(`&rqr0&1Nzy1pPtTSENl7iJ|G)d z>KE$`Goc`QR{m6ITQptcTl6QbWq@2-y+H53Ay0Lm(BHO;XqMR)W+&M0MC~4RL9B@2 z>S4M*4*3Sgx{R^AB|L#?Y`r*{5`H5G;<%o1{IGU=oc-4KsCFq659<#u`;X{HvMcK2;DJU|h3#~V8jIM4MzfPGl;0}3VB%vgsF`GQ?MWB8gxxKtSrWYZGl{5Kr9 z!;zf*tf{R3q-Iw;x_L%;pZlJ%@<9_qF->3>ZU+5EX^Wk#`n_Y$R8{wj!?4=!3zNsh z(L)}=j3p}jPDi&nfj?@&QhvZZwal2gh)Yw*MAo&80+Z+2?p%xgXqd(NmY)3SZG3Lmfkor}aj*Wv@g z{@!LhpQ%#4!7>2MnK-BM`Q2*13#MtZ=+fd!MJW?KDZ2nEukq!J8xI>UCQd1r@L_y^ zJLI$dv;Vyp?FCl?mYQFkKONx<-aK9+$`Zr;`8}X`8nGEf7`7RIURu|8n!*$^J2e^D zk5mZUMo&T#qEuI07T<|)cSO3!*GpA6928UkRecBt$N{G7dp+JQ30>oc_tZJm8-#AE z4fyLR2b~>QS?LhRpvR!FU8Z>PBGm|GCORIA;B?G4>F`55V88whP>(hv&U6E#Tp_ zstaE#MIsv?IMznMEGEe-pVCwx?f{c*i4bpAYSj`y1AAC@F$|aU&hhzspo;!L4Gh~& z(q_cyArm5kJ;1>W9IquyVDPTwJJek0tvPVpb@C_h0_qN=4j|%`ae>+Ol3y2{M5r`u zZ#Qo5C{&r|pvCZL-1B1(3vlaZQtE^0!owK`*Uoeq8c~rr-w2Z)A8OKFj%;{YG-}Zq zlA7I{|F8HeGo__STJ1~M9Dt4uYwFambN#REAAK1^b zIHr&(to3T|94VSQYdzLiI$dfQ9xXE0XJzgDtbdqe)kWb%Qf=>8CWY0TD9PatKVSO9 z?rL4#0%j{HR@!0}Px;3QTAN>OH_lM8lM?dKkg@ku%%KEvS0HdS;v&1L^NC#jjt>BU zjLA7i@UhzL5K5hpmfF9<^WNiXQPzL#9FV@I-S6}eX?{LccX2SbdrMbJ+uQNbi1x^0 z=I4Pc;;A(GB;E3>g@UOQDX(WLG77FXeACpiKFTl|S z@Ok0f88s9H4+_eTt6+s3(XGD(wI9>uYCNbSQvBa7Vqc}e{g07yxF|4z+Hw1*+Zne` z*V1nuj4bSUOZofHV|7!jxkgCiGQE=NWR_5KVeVNjlDZu<$2N)=&0`%;D^iO@n|FB_ znNH{2Y`HC79nDb)pODQXW@YZzYQ|PmtU0C3Tr<@c86yxtq2=*`dyTQaX0kyHeG!dX z5DKm%_FGsHC5Ew zzN|CIX~ILd8aeQ>B!Tr>jD4<|nrbP=6yL{vJW?ad+bfUTd5|jiS?TCSL7@hCT595# z1Zc>@T^ltd3GJkZe^@e0m&MZvh2dZ955f5YDjIl(mywkf%YasY4(O|si_fc&!(5Ta z|2~7l2y(+R3@G}0V-J{J-Fm+OMnTV_u71t>5<5;dcpL}ud~ z^GO}-`oiOinsHg?HDfT79MgoX+wusr<2~aRW(I$1Ets-@xGi?uLF=l^l|Ch z5}Uaf`H$IW#rf%!b2AOb-MnB^XTne;gm*>3qB4=Ak-c8V^SB>a!j9T*yHcy04w*`z z3o9NM63R~xu}e`+V6v2Dx9WHpIg?J$T-+r?Hnww_V&bRjlyzbhCAW)mDm`9+OBh4_5t4z(&8DJ+uWypIK&zbCQMAsE43!<;rZ&Ww;ndXx;e51_y zJbk@Wjz8{|U+I?pfcbp5Gmy7vAxwIeN{GKiL2PX9$?}zeRr-B_c}(?T7%N)#F0G!d z8TLF0K27q-QNeo6Ev8fVnwm*)i&ix{tg4HKXs#8)@!x=e-*#@m(D^hNY;dk2F%HD- zRy$+;d`UT%BB+EsWw85|XeLzRWC}{K@igQz8{Wm8^h2T^Or4l`MNE>6wGdz?MNuv` zQ1r>;^@Pa>Tli|`z_Uu56iGs3;#?41l)Ts`#N`D|Qe*$=tTXnJe$B_7e(|+G92EEp zqH9K+V0O>A>{#0&MhbGr z$NA7M_Ng9zz^eNH=W3D}M5zEJvB&jY56&vhJ>Yx=_4j0SFXDwM2IIOcTKt|Z1eYMI zV%3&pUb8>4Cy>fgB8gwK-$lt1Quby7mU!17RQqR`Aa!YmWc83y;S5#&RL~eR_uMJP zJSr)w5;PEw#T*M4p}#!%k4D2)ikcoA+_D~i7F?POxV{~R{7$z8Oy&9=GZ^s@e~x|! zW`4d}Nf#r8>Z^*bLpKZ}qMA-o;Gq48_`a7+llV0gTrikIDbmEt$0MM1>O59b?tOUywP<}T;%ye9CAf&;txJV!MNP>ozpY&3v+|w zA{{q~99u-XC0{_{GV#LRZ2Gr}G&s!=Ox#yWRVeEO&rx2+yNs<2iP(6g5WuQ^kPL1M zBw7oP+DC;olPk(RQ*#HuMBj7AX6&U7MjQA_gIcP8>Ne5eQ~I#s133o^0d2Z6aT1vB zWBjWda6}7ca30<=_L5W>1$6(Uo40Ytw2>zQ z)f7CD@q}55{};0hO!RYy!*nt{B54iryZw=60a=w&&_cf!62NbZjuyuWG?e#pHC9Df zo{Ni+!Rexo@HK^70l*#Coz5rpvRwIdf?e8y3WTOR5vdjpNJ0tL7T**DkV;ITuaJ9@ z2B9p7h2(97(^GJSiX{AZU z6(7Me#Ltp@(#-=O>57sk;lDh&IDGHl+;WFQ%M4|b5ozh##s1CqjqPm*2us*s-ZVRX z$b^AKhe$ky4X`a!S`#HluTz|RmLu2?I7tt|Af13?p68Kd%^x{^cj`!{vwan1zQ%8&Wgr4nE zLA4fzV&^ZuBN;t3swi=BY=oV69Z`X&FF!3Fny4Bn-qLjrt0LYiBocU7iqdY~-Uemh zza%MrC_(~1>JPYkP#xK6RJd3LHD!8~kqQ#=!r+n^5J3?WL@oii>FV_w{Ibg_5<|xm z7P2v@FTJrrw~UKUU*@EkNa?}3hqggMhN43h7FdgvC>brRf) zMUminm+wHe9f^KcnuQ?_*t=(x8a4iWC_?I|)5-AbKYCaEA2KlFj|%1^W4d-se&eQ6I-LF5P(K#eGT^E`!fDQh6unMCzhuh(=H zBrD+;1`dbp?Wz2_M}OJK)MKBCGjzrm-vQ4GekHuu7Yu`HnPxfgM13!aHDJNT|3Uwt zC0GVR36TKF^Q9AE-6iGj<%Yyf5(rZ~KS^9jprB{`NsFg~J(_jWi|Q{`JLPJJfho8; zn7d3e3}uy8875&}GblF6Xjh9x$MaLMrIltXF)3Uyu+Q>pnjuj^eg^@SSdOz(D+qo7_=8&D`|$fSzxR|<>hUifEmb>)VbDp? z2xbT2&k;Z&5ClFdnA!n%fS#kH_}%58KN&_QOGRhz$wv5fKNZtc4gx)iSP15rPKL>y2=z$Nqj)7S zW>pwkf(i zFTVT+=~lc5tV=5B&YX;lx$f}l^%`o5E+yn?I-g)5i&UMk-5=?fK`?Rp(19#e6O~O! z1x7?ZHkFvL%n&EsKbHkld*rhZhz>Y$>_KQU{Q1wP(vfT?YFXxTsl~1*q|KW_cMWQp z&LS3%b1()XF`S$V$|=~g&Nsp$0k}YDK=Gmk8O65&)SaD9sbC{8pBB}Q%(X}*Cd$>$ zT5ps6_c%zr`qWoGuP5;Z+YtW;cgT16I(;wLP^(n!3`xdpAu)y}~2hXqUrgf=52QR(eTdf5=y33&_O0H`D8F{VXe18ks4_elpb&x zEDUT#XEF`wrD`XYnE3ePkMn+SgquoC6!US@44GzVd*Il%^*c{}!EuM5DkK}NJ`9)7 z#%TXl-rwED$-V&J&1 z&R@1nbGneYwzN8MT*RVOX%7a@O1XXh!a}*)84R3qwUbIrKz%rOZYD$Fm~_Y}Eqwt% zBy~}h)h-?j4i93Byiz_O@q3%U3g zANjRZVxo|XTb9X~@-LtGb!LzF6L@VioeYnR818U5GGf@4$s`kcxujx2xIx?}!BbH| z(&sc1H2itE(ii};2ZT$a^&|~as$8=rv(vsi zY_$5eZ5f7PnIW{0rA>4)f~^~y?Hi6eWDJJGI3UYJql(@ZT1##REEZ34y}#)=L+tR5 z8){i0!V1Z3h#WyI31pN~V~w%pilIaIXl#IGm}Asf)pj_FdPdnAv7T;e~fs=zY60QY z{p)D0ph#p>E`q5SffGL!jwbHoyQUdpLm%?#d$o}Vd<9+;#JIb@kxERIYh9Ssw#@n0 z7I4+rw=$g!|NQ44uasMZfwNL+|EE9tvqJ~6hM_Xc_460sDP&_Sm^>=P8N5h-4`h^|W0FRj`wuCv{tr7EcAG43b#K4%0|12pS-*$N}|ulDnWB z^X3OzfB}Nd=}84~cAG)PilD6mB}#|@ck985o(f`l}g(T#)~ekG_jF1py#Jz zw{CAs4==5A3GMz70l4!T5v8l7BwRAF!3Hoq)AV5 zLsIoG__$IEXB@Og7FaM*sZo?fu_W+JGbHY*q`IWuPmiee+Gapd){MGnnR`kr9CiIf z8@ipZxB93u+cKdVFh--*r&EKAA3Bf)s>7;PR=enG6*SOE_Z6k01pn}dUjpm841XI@ zO3`(V%|x7~pmT4~&kmRAm2spUWX<@m-k>3QG^_&oRq2S+b74|?C19bX@vy*HNWD4_ zA4AU+f{{=xt(1EI<`!ld5s|EVqYc6_4yPN2;krZ142kX{z^3?jGBQRJ5)Is(%&!x5 wJ3$GL3epA`C&>h$(lLs{A9k=4xl-!?2OWT@AW$7u&j0`b07*qoM6N<$g2bG$Z2$lO literal 0 HcmV?d00001 diff --git a/Tests/images/palette_wedge.png b/Tests/images/palette_wedge.png new file mode 100644 index 0000000000000000000000000000000000000000..23fb7940d6d61c42e69ad3c80fca5e77c26994d3 GIT binary patch literal 17065 zcmW+;1vuUB7uVh0t~N|J)6MiS-8IcH-8nHi!*n+@W4dFyySuyjzrX)|9@l+5x8C=A z-g7?Z^Z6W+s>-tHC?qIQP*CXda#HHxcffx?NHE}DN&hAT3QEFBUP@fkGs8D?)REN6 zt8W$iA8}3yY-9LO>QYAeh9_*M4fT$ju}`FI)hWLtwy2$d+pwWtEws=gFf|t2XWO$r zqyDPrmClF4ZxPE-R58fjPsnBo%7;osgLsWA1}S`EgLaC4n|;G%F*6e>Wv1#Z!YR`EH1CmorU? zD9oAc_VKx(fG$?KXi_2vtIwGzY}tXZW}9t;Qd$js*G>Lp1@v%92Mcy0uo>zl-RH7# z6rcYt)5=HnY?yQIyZ>Ew@DR-GRBH`NaNauK>;t>LJu^e#K^bO3pZJC#`tb0uudfdg z5ivYG9NcI5-pm`bd!DUzSY`Rn9J_F8Lsc$_k{9UKhn+anNOAn|sLJ=Wvz@~Q8scZsILC>zi2lO6A;Y5yHZ)>O&Te2yo4 ziynb@wLJPa>Rbev5;-V3RJ5%+EMOM}cFA_&(bu3={ow?VU{1t-BQ>t2(kBjBbK^Lo zhITsfOJ(G!CD8V3;z`fjrGzUb!1+;9P?#=l^6wDdH>{qX9v_oaP`oU!K9l2c6QMb* zG=I6=8FpwO4O<^h=c|zh8=9V;UZDO4DJUG1^2X~OOLEA!GUrj@2qXq(xNt~fzx`(< znJ7A~MDsu0Z&|5RoIdt1p5AJd;5imf+O(~<(Mscvhj*FesJ7R-mi|H`4Gk0&5y9wk z63le5q)!a|)2M$kkjOwpYz=+QkT`ID?wq3U0wRD+Dyp`1rs|v^xD?-x*n%1F`GIwl)Z{q5LvKoZJ~rL+K_jB z0ui#1x=I-!ua^^Ty=_#}BWK8T|N)HJQY*jO|fEC8}nF37{x+I=wT)hLVNA z`(T#HhHgyTUZ=J_ZCCkSGrz%w92mW98@=qsy?~ebKI|7oM@OIi6KMGJ2T5?l{r2Vt z>^kMkI_1kT8&u$Rot%pig}(;$XKF{U-1K0Yi_ zipdsq<$iK8tO?f}MFe<}Rug`i2&TWvTi~!O-pfXKc5Lah&K|orK1$@Yr+T+g7$J9I zsl6{yw}z#si^}DXb!}W)Sy?%(YKskTFJoh4bM>{u&|;3twXJ{9_P^FfLYneFuAc>8 zE>p-OtjmNqeR*+F@{Es{*Q_Ak2&XPTQJ`Btp!l^Y|pij{@d zX><>@5gfLTQsmr#&NIE1$=rQ|E{E1kd!Ow67A$JIAE>Pd^2u7T?{SXrH(BQa=kSkxACH$rK&mWztSw23#*_jzF zEiGfEM*ZFySv5`8)K&ji-|QZ+D3G@Kj>fko6xnW&O4KIZKsiQ1M@VR9@F#Z+f_=8aM)KE-_9b# zs?=diP-<9HKh^8%*XghjL`$C_zG8=&)acMgg-L?c?$r`Kh}aldtwX95cv%y~$h_^; zi!Fijk364{D+toRdpYqlF%g%eR)+;8nO;6$6^iL(Yfw=S`?B)QCf;({5jqEG9X1ydDThihxuvxm!#uDi<~tJ5k@@O!bd z^)MqKf3o_)yeEl~$yB!T@MtisTD(k76Kmu+PnmJ4TdA#-Li(8+Ii;HU< zapDJ0k6_>W>v8(i^<;mt2uE@)K#BMvkjyxh{S!Fe{A4(%+1#^LMzUKVgjQAz0bcNX z_G;AEvh5epuF!gX7D@d~VcP!kYk|&VrfrGG()e2{gM)J3BkZ?EJ#Q-GAP=xQ!UJ`h4U?*9tZHQ&Xc>H7k^< zTsFNhHwOuVRd~zFT3J=)5As{QVdI-y+uu0pl{7Qd2ErX_*-C5i{_rw^D&Iw5Y6RS% ziC}-fNmj^qY-Mwjn7eQAe{6`*E1QnWEgrY#&-$mMr}x+AzE+>LoZb|Q{0+oqBxgBq zd{6XcQ}p0k&<(`-(^@cQzPx-w($Mzx_2=$f!>Y}Yo!wo%iW#G)9wPurOy4>6kMOV8 z*Yjvv+1uNjnVI?f`+Iw*f2EMpJRvylql<`DRb?bg(VNH{;#|{S9RG-8uCHlna=?_q#0I38)zGr3a zo|jJB7EOwqyEHCc?v5tYLei6lEk{R3g)&E4yl(@xLL~z6_^2cr7N0LgUtMVnbSn_V z$877J#^n%nA~X$3G?rj;Q!QO!~ED4O`aC>e%ALA_R-mCxUp# z7=e1(WLWXJ92R}76ID#eH>|3vs30dJd)oDXv8vH|dN{1gdgtx#=cjBQlF9}=+cwj+|fr$y$2XNBO5pj-KqdtgxF@05} z_PLG@agnU>RpEO8v8YC3Ncn2#kHB&SGhMrP&S~d6b5uo zVZLh0gr6EF^mX033zF0MC7&7?84+HLhaxe@-{$4zB`4!cp{;kSA8zdK?p}Ppz><3g zMIW5Eckkdik55iqb~-ws+guK3DhAA5JU!=5Z`JhP;m9CBp|B5cyG*(Nc{w>@RcdnH zlp*VDa9CDIFn9d##wMR2lc!cTZJfS=??;|zf+`!8VsQ&E(}z?2G zjvAk8P{ivB$vNfpov<+6{W=tuq))&EzfXR8Y;N(i?Z6rf3yTwT5Sh=EHTT3m_cg30 zRkA|PX;D#8+g%SE_{(fFxDcLbaqlSNs`MLSiUBw&u8|fn!b1x(wzq#PpAZuhv%I_v z01CLp#Gs#4%pP{!DHOmkLRzA37&+Hs&@kK@KEpeaH$d~8HxOYaBUQ9)@b4yCr)^41 z?*E$HN8%h3r=kam1iW4BW<^B>cspA8e#8K$FQAsOkc;)-ClGuQq|?c8Wnf_FTCdhB zi|I2%u|-8i-8}ac%>2E0+|$$JCTLJL4dQsSFYZgT9j~{SmzRqRPMAr7x;RDvRFCO5 zTGkJrB&z+|;?h7DvbeYyu#=gYxx8$kDp@yA7T2fpQ4}LsR)Jx^A7)4DD4Yw=a zr^_wggdtpMO78CNCo3(W;y?(-iGRQ?2TsrZT6gNV=Sd&_KS=J~i4YCx3;6 zgoH6xM3NOgFeSSQwg4bfU9DQ8shNa-xBsY%LV*7lt|^o_qr{7nf8}Q({}&q@WJ(Ou zHS|WF-KC5JhB4)QhB@dJXWJG-|EoQ0f!)i?O8|SrO!&z#N=k7Jp^FD#nIUc?@MT28Wgw%67^{2_`n=nSHUggH(|S0i zX>C7^^Tox5OWrsD(Ghxomt}5JQ&I>B2*B=+j*QsW>lUaB2ns3`O%7Y)a`m(!+5KIP z-TbrcP^4aB#~VHE@*fbo_@*CizI5M@A+J)Pe(b&|AX^c+xp}TLqLpL4LWupLqU)ZD z;}4>V28IN4C*iipWh-3R#}qz#&=Hy|$3~ZF9HQ>bc+4<;q%jzw6G>y970LyKnl zJ-iW5q(GhkXa!ALFmvZVE;d%Pt0PYgTNqAOF8*tu8DqqH!ftj_igM9->Gt;ax#w5? zXmsmiCw^fep}-vQI3coALJ)C!cWqz*xweWXaRAO0lRY^%Tk=mz>NS+19JFwD5YgiaWIxKd zs#o8G{wW<{WaCJI&Y> zR6QF^W{x*}pyEaSNOfHt`?AffU8xTm`9UVdCyvhA1(%Si7BwW*7*3A~s5BO1szM#- zGB>34pRV-U%J2eb1|02F8PM@rtvJ%e{XAjcDR&}9)~#|GN#gppMz9X-cu}$7B4L#a zC-*_{2xf-KKS_a<(g$K^V*kpCzuP~+oSpNJMP*mR80^ZXfT|W;5D60n=^vIMsDAOt z8j3C2vzBar)=<|J3jRbL{2r5^3J|7u&hr9RBp8hh{T&sIjhKuZOzQAQRes+osM1)< ziN7ipO_~rn{yTmm9GY6&_)y{} zGR+xryKf40pdpcFm3!O3^!c3aq2MOSKiQcmL7i37c z`lVP3hG7^_z1yUd4~Jxl&zg-r#!NopY2@??WB)LkM2wtLMY^x(@(nb8sW}>AFtlwc z%|SZuF+0tOz=Hr@Ia6r%kExfJ)+8w9Y-rnsZ!E4KJIR@2qY|ay=)~dSq1nDn{@_a_ zi`n$7)U7bxOroPF#(A`Sj{^&5Eu5^tERMy($_gXlCK)u)gz1Ae#Q>eET$IPyEJXnObMg7#+l9TN?+yz);OKaWa%RYQP zQv3q+LJT9c%~lnXZtd@UEP7wQ_JQL0RbEXpcmV^z$J%+j994*yT!H%1S10K5`XIJ$ z3-M|ZiP9~GYfvwjV3B#KRf|(@DCFhTuN{<#hENnr%@jO-A3QXo58^-b);>VFZTAs_vK_545z4xPpIPi!Xady zs3oW{{cPADa!%DzJALtKA*;sh#`8V9S^h73<1`=qXitOq^h2C5kpiYW5fy4YEzg8J zm@yk`YZE}C@_|B%i{p`0$k@Mjv*d~Ou4i;VZ=t*Thdm!DP<-?9c)ELe|NQJrfk0A1 zfvo0YnF&LJWn?YcrRRh-KP3yO8?CZNZSVYyDv!m#`P<6^Mdqchv6^ML}Wg zqNBs>CiTG@Hg!Qtv3BnalZ{kLs`MsAlbofp=ik&>&t+8s-=wTRm6uPfIb7qW;u&UU zWQ^H-#dEZ?gFuK>2j!7M_1p5RR2i{C$NPIHOLeCXug8)>wtmiupz32}xp@M7C80tKt^-*TX0j0C9<+kX9`rM@uy$C#F^x3)9q zR??{{l8}btd)W5V0V4>;##|nv&y>uRIs}r-&T#sH7{S6f_FR-e|Ik)*Xs3;myQsU} zW;T}KEQSM>gS8!N_FkOW;Y%MUo_DxQ5I-snN;j zCXVqzPjrk#!;&;9ba!81Dp>`Z%Nc{cX_Zw_F*5Pc%&} z6UlW7@9oL9kMZ6{+#}*f&i(TUFo(-pm8=9vrk*?0S;!*!l(!1>|4!^3J63th`4#pTu=Q?j3(NrBy0O zk6MG@9hg+OiFC+i%zcJogf7a&+>0nHu`z1#y58CfxkA2sT&VwK`zJkT94#``iuPT~ z*hbX5$y)Ory^c7)t31#~HVGqdcQ}Eg=uV*k=n56lXSc$$QE6>0t%#3MB^6qVme6t! zdTrNw@(E*PNI}&27&E`^p?*6*&DU8$bqttOtHnn)>}jn?krBQHk29CDm`Rwd$jc6RDXkqNPVaw!4z_UF2wVeuCeM44TrIz-Swxw!| zN}AKe8Nf7t>ut$aD5}=PGiZOq_@a~`_4QkoU(TtxDhmN!LW1+zOPv4H zrs!R;XgkrtuV{7A%O3(AFVW+$wfg&y}|6K`2H zk71?bv|!Ta{wrvb7CtC!9!!^6E7=_sD44@og_g@L*f}^b36V>W4-TTll=`klvTeee z(LQEqRcLjwqjh1m4;BTPlnQNM-h(S_hj)Q^Z4a;Jm~=B{lxeIz!oNyzU9nn=_BWqG zB0Ww+EyxHSD+hd6J}mRT;LBgi*~< zLPB1%&y8;IX!6t(L~=vIEpQJS_!)L*ecSOJ6a*?c2bIyJtN*e;?-*@2PU3+EnoMzkYE}3(FG%)z=$C2(DYx%|^ zy}~|p5AY)(gdeo|7Z8l{#;pNQT%GVn4a;{!3x9M{i>9dJfOH)5Gix=$OTb_C+HT^Z zN+ZqgHN&?wqsBhI20u4*SN;jC79su7%zPJXmSPdwx=eR-Exk)a)BnC`0EEoP+Cct> zMf;v!1JQADUH|KY4?JZT$v|{EUf@xPi>HytA&C*pR3-|eEi_&AD-Dkuc7vtWCB~qJ z^`!ZyFy47z!17ho$U{l5ov-vv%GP@U4bGsg{y@2)@B zj4G(tZNUZUNxOAEaWZcXe`9D9O`e*&z9UgxFwlu8U{I=Xo6GsM<#=gD&XI56( z1hYmY;!N6v^B3JOX2Q7G1SBd!6c`+N>wI699pNutUyD|wG>#i~OhsJ~aA;1abTZh; zm^nKSN-iKcaN_N&chgC}rZZP!oId59Yk`iI1YPPSc6qsz`1Nvr}w=0J1q zd_-ffg_N4x^TX#cLM_5kDv0BoPxuB>9)480_0l6m55zY*yvqszhGbti zb$U$Pq-z+TdHeYt*Ag#3XqaNnw21Kw;6#ajH-Hx*$)WC~io;7;Z=rDMJp!cjkE6(6 z$dQ>GAH0_0MHimlZ6G?e2zFJ#* z&)e}Sx=TNlpbl^{?H;AQt##)|M`&dGK0h>Ok-Mq^3#;^l0Y*YQ8sV_wya_O8*Iv(7 zqL0M+c+1<$nJSiI);nTAne%G-dCRO53{lN%{ApAs!I}0|_zW$lCPonF4qwWgUxM<( z-Vc_e=hqM7vOBb>I7)XN`1N*!^vM~szDG7p$-0JyS{Dpw%dkU3LkB}xa2o|~Z`9(N zJB``DD;I_60w&kd@pNr%Z9Gr*+3ywHpEh4AuZ+T16VP8pcXH$hcdUVI0lIVm8x8dI zNbk0_ss*?kP02_VjBU&f3Y@ZI$AT!+dAhX9;zjpE)L#iJUQu!J9tEj?xl>}#Y+h^+=}srzVSkJ?;@fZDcU?i*9{$DD3_p#ee-7#s@tw5L#d`O9 zs8_$XDq3dk-i|ZenLC+7AchynzU`#zT+5KH-s((>^;dkjzxKqN>+kZ%B@!NhvQiDKYJn@GWI_l*@^Vq z{GNew5>@blAlBD!A1q(YT%86*gSO}o>vpW1nz7yMUEJ&3pvcEG;?U}zEMoguUmWSe z#n#zFY6{;RUvA9~+y%OIq81I9XnylGh`87ugEpWkB5i@P1rm+^`>yY9d^tuB_W;QAm)gA#!Bg9@-d^dGqu8 zHyC*=ahbLBhp7ob2mx95>B;AaG$bAwfj!hDB5eYGlV60N-*~@vs{bYaitTLZK1YzuSj)$6DNZ&vG>>V69_d0V)9MXA8 z@%-e~`hP?#(TVO#r)V_1%T)ei`-s0z)>2a|8l1WnBDrc@dOLASNFU+DM!+SX0O(_a zp*QddWZhzmXG~Wy_~mp=cqn`hOR74|L8S)l7emKpb!&R$Uvf^NokhNMR*8CD?G5v- zZmD7W%mr+PnG{RC5ycK$H|I>t%90JI5cUkfLE7q1Wm1syAr0s$91-~IIr;++)iWaw zcFXLz$SWfnYtMqLx~8V1nKQ~1$W+qK3hNgZ$vU{JIEo1ScXys&z5t|uj3{~s%@>n3 zMpz&4=G=Zeq;)Aoy{JZIxm|QE-n6Tq?W$U`A_Gx5pDVLUAxy+u4hhCKp;1Fd(2<^d z*w}S>5v?aP@`d)XbA#-cvAnO(SVxnXfm1An!!?$aTK5A*0cE$?HB7-%hC?|oLpXi+ zw#BC8Zbb%(O4BlHZ(s*>cf%hKX2>@q#NsjN3W-Db-ON+uEj<`r(*$)faA*Od$W%te zjKhf!)pY4;iQ>GLiG!$qN}X|%vO)Wlnql-F@3FqpOEmQ^7VZ}*`rXQHYv0wIT{5*w zu0JS3>BFGikWS6(h|?24F%NPog%wquyqCf8#M~LjgvOGG8;H5}ddG&`28Edr3H#h(Q7x>j%=`$&6uEg&D zKtASnN&YAG!WdQPw{#_aum}^NO20A(gLnu9vx>yRUBY)0>XB6Eyn@w;x+d!s%{&TB z2oCo4*pE}T^)h+lIDiWsA7`5o+Wo~C%!0*<)Cgn^-m~G~gYLs?7Q5t@Sa2j=a$SPV zP~AV&ZH= zAslTW@JG-Q+}$BU?&_D5*&`z-@4$pM+11F;XOzhDBf6V0-8HDZl-EVZ`-8hb!=m9( zpwHTN-b<>6*P*RPzsZe_aopi5xGR{6v6<1dT!}T+&ccj)ng1gQ!M$E7fwug(Hi3$1 z5o&OQS^iz^U4@8y*t?)*0?rnsZlv=5IaT6HO(qt+Z0-m{26e;M#UN)rw}6DI8iYqL?^@p=b2b zUOD5|Nz1apkoSvCS`N>)X)poDUUn@{ZtY;r$eojNs}#B%Bz(|`H@zTu5XPxHo(ph! z5wioq6D6uuvnAUHCv@LS$q&LMjWl5{^;>tF44^fu`u zf;)7ft70fsyF3ZnQ1Y2t`KB*G#Ml+nSC0QRAJ!G^c*Qo0O`D$B>h!mKAzXzE$SH)_@>BsO4XydDVdcQLG ztKsh80Bru{OIn9L;3egKDnD-^X8&5Wch6QG)X->jI|MD97F*Jfg0151?GPl6L!X9I zS-tkR))f+!_)V2rE8y$N(T22^imSdCvRGB2((v%y@_=>j-RQz(rpzX3F?W^7BLATl z)a~Khh}xK!=0JB_+S@F58FT{8i?^+!qEa9=QgoeGfT(z0T(h4xE<55TQ2avJ$DwY= z(QeEhkQe_5)VTx&x=q>_;6YFrtYrbtj>EQ8*CsTnX=uh7CZ;s%KUD0(a!@stzIdp$kU{7efy&i}Ca17AuuWHg0|(2#^H zScbmNUF&P*euhm!zoAjICQAIS)~B^*$9+2i7uwnuEG~GrIL9Wi`HqqC>iH8jU$!)a z;oOza+fRtyrVH&KR9cBa!L)6t$=!(1DWk$v6jx;-hCP;T!(xGc@Ra0LE9F=mmNDhb z>}&~(z%Ec=$XN|U&(TpW<==>FS*oH<(#*wKny(g8+6gZ3!VBf;xsGgcWMF0!LpqTd z@$13Yzr1grv4Y*dA`%cy)6H`+T}?u%ut(_$dvVhj*qxb~NuqJ_3#=!z+3@}h+)C@~ z>p)%ee?Bxa3j(eTkfUa7>p=nhfNs~Mki5aIp-U2jfX=q{A~Bf<*?Q|&JS>r)YWAu% z-@x)KpHMFIe38u;iq9UmbZy9v_iuI@|!$eCfj3y)DKP+xYq zU44CC&2&vxu=xD>gW^C2@<#i0`!EDay(B4N<)$QJVmkfgDGC!_{I{GUdi}D)>lTCP zJTMd;BecHtp}$HtsQrSsqKH|JU%S%t;FP9yh+}9Am1)t|a8CMIcqM3Oy*QdzI;h;l33-_Fz z%*^t1D{2R23s`BHcRhqR_~ghFQwiRfO=i58VN4$u@q79+ZJU{u71w8ma0g^Pj@I`c zK7M`_4>o-xjSZ`QqzllO;aya|uBNbQxq&tsn!UNF9vaL9(erj%T^z(DgLp&0@^tL} zdZqGuwHYV+a<>_m>8wrt>rzX|iZ}56zlHQ@yeu^gd6OfqLN*p6*Dg56?|Qk(vP)wEQ*>y#RF+;}LU@p-s)q^DzM9v2rC`FBgUBUdCGus#1b6Jn`e?YkYD<0fVbT|sjlsMG`nx2;%QlN zJYdclDq+G-boJ<47$UU#8g*t9`|H4Wi|S7CasTAx1kf-ANht~m&ZH`G6Pb=d9#u0u zMupS~v^lVZo7wCN)#9^nQ-|ON+^YC@iJ05JfmHg$#5@9}`PE}b-t%H|Qe$_w&!+o# zA>oZz3-A|Eb1n+38ycWM%-@GGp-JK>@Q#^X^(;EJ4dcG^e|b7OQc7c;c$=&c3f;QU z(5{>(Sr$NRLiAg=;`rEJR}hM%zvHX&9FfGx%tdc!4(Mx+*4j`16vEeZmdc?pJ_3&| z@HxUgM|=Sm4I$9G+Jy;ol?I$jxP=Ml9g+Nt;SnRkH(75P*rm1XkK^h}|KlQ()tA{W z{g)P#4r0Ya67!!WAXrX@DY^5NOZLYw^}?|`Yw9Euv>8w7W$pu+YBz*1b1Xyrh-q*7A{=F$ON=@<-rF02<4YNT;Stw~t`v0b9PT z0M_fcwVRh$6uhw(M<;U%`!HI1*vCGG@lzSc1gua)_xixl1D3GlmfRG?ht5%F*fU8O zXJClQS6Jqo>Zvw}k%9dlYu`Q%j5KzRj;nt?041$*OK>M02V2M5AJwLwp^RGJ#U6sP z??xg^^60{>NC7-LH#hDLix!9|^xwFuC{YTZP9U0-+zCq;Pk@Uq*~RfWHqDLEpEK6` z*?!NN&lS;`c6^5M9_nESYMEemC-^oe5Fx?{owfjD;X%Y|1y*9q)IS@?_)YaJ9a@ zXG(t9SMj$EH3&{DdG3I92*%Da$B#tQbkL}z<3<%Ue>3Neh!IlC`0^7Hfm1_;k}QmsnO;}pot+X1v`?rE0Ef-Vnz0ix zLa2LR_VVKXDB>vmkl0Z2ue4*;ecVZRbZ~IkfK4(LXQDfb5Iq1odsB6FJFZE%{6KtE zL&w6z1kN#vvHpW8G#fD5PdRRAcLo`8w7DQ7DU4%|dk+MF23%$p0|BH6b&Szc8Q<^v+ViqejWd=uTr6 z%m7bkXY7pxOW9_{e6p1ops^8ZSnlo&JP~i zjyJs+<~NwKIFDv)6&tjhH~^wq;QW1h(=X~rcC`6<$FK+a1Tr$RYLk3Vh|6L)`GbKH zOj|qUTGq7?w76G9nYg(V^|owgh^0qjca=~Vbqy@bY}PgOuNxXvTlu{4>%Bd>&u2gi zU$?#xnDelghEIl;erhHQ?vV?~t*hgzwyV%ee29CxVSrG=^AvZ2(?obTjHTn3-)R2b z4BG%L{xMUz$UMUni!Sf%9tJNc-Hnlt1l_J>Sz7FeR0tYcVixW{hM=L{%Q@=$yz#E{ zC`_l3n)78R{tzYMFk>_+^D8JryiTgNZZ@Kmr zz^1s|iZyj{Vd3Gd3lsSDZ`)p<0Tcv2K2eanvtIABJUl$?d5n6C7LQL(PiJj;u-wCtJS_rv}AM!v2}*#o@i2SfbJj_AJe+@OuFMHs&d zh%}Bs2n09aeg^lBj&K)W^0^(}~X_%je5U*SQRH%ZD3I}U(KC6hB7gpan0N>!G0RvfvE0AjviiUpxds6LK zU=@_8+)=f__LL**;QfJN3XirHJ~boNw`=bRtW50a^X3ICLdjHGWY!R)aX*)l#>-1r z(unMl4ru#TVRu7Oo&SS99~G4uIoJamM z8w1!WM9^1rBl=mSs3Ne8#Npw*j}jJ(gHuCvO?OujA5yH_O53S`D6kvVL%m4O#1bz# zQ{_ruCuDDmfUH``c=a}r4TTehz5tH<-P(`p7wVYYx1q)~Z9_B-v2HZjg0H!6NgmKY zg!_3&BtcQsK?fAK)z{a9NWD(~RYT6fR7HmEWXzeyO%el)$Gy%<*J`BdH7d;h^-VMM zMCyJz!3dX(?}8Blw{WNa{Oc#78>*~xVCUYxn-@C~`3QUkx{$*DN_5U%l;ES~9;W`ZPHDjS=c zn(FEN(gc3WQtq=g+_pF0IqRc5&nIfN*+1|` z@qy6xMh&iDg9|XWr1#4T?l5L2e5h1?|F8O<>^K;$Jpo&lT6zSEE}(p*FJ)mtJEs;0 zihyN)58+#6uCzKu!iw0k_*lpr47^y1qBNmTUni&1F;QmwfueZHi~fa zxa6<(kZgzo4Ph?d*6CKrbwIst#j-=$>FB-Jb4IoMievD0MzCXo>Xd>Fr5e^Fvyn=T zg|++hhyFso(5*nn#Zk|Kp@>5F9JDy z1(>nJ{qGPdXrri;wOD?B+l|-j-I!d?cM@OuUN&A9sG3L!5!R|e*v4(8{z>AA+R|kQO3qN24aWm(lrCye&E7iqt4b zi5{UqfRgK;GWDOlWh|rKP7uSQkxu=qdR7AV&VJq+n!%KB<wYUHKhmco)cG>N+_7E#Ec+A4sG`E*7!P{C{z)@pvgZpL~=(qm)ZP?|@_` z08^K$`Bsor`EQTC0?h1fbabc#6Gpnn;{19C0!uo-ZM>=c5s_g2y4J5>S#%<7K3xSR ze>eMDf7D9XqW(8=02s{6a>J#Qu?efc@sE;?7hFwBSab5&uGI1(Rw7kMP#1(xC-G9m z4RD@0j-KZ2XQXSa$rAkh%ixglkSRmgGjf|W&q#BKdXD3SkC4ykB0hy9$H$ZYe#-&@ zZ(#g9J6&8_%Rk;l0FMu^6Oe3e|aGkrG*#s+g# z`2__BE$h;h3e`)1C(e|suGNr!Gw)HhlheaI$%8ny&& zVamN26Wobhw6?SyXZ!^-A=y#MaIm66NW!vEp%Pek5kYc@^R9MyZHqUDiP+{R3CS%B zdpg7F+=#a1%t8fKm6ZvvWM5MdVmTNr_dZSXIj$VJ z|L61p4PBDnv{~1sP+RD+n;=NC-%G}h62Rc(qu=58vC+{w=I{YPyYLj#C%%`Hj+Og# z(CCst3lhFgH4sP!5ZImGr4BuhzCMitUBUnL)?XC#wGS}06IA~=eHq!~T%8amh^RP@ zaW5y370Cj`bi{HPEo3@)t4+RqnZI90&ka43=S{aTRjJXL68JL)B$Rf7^W;UW7ibLR zGde%Xx3tSLmvX+WsfX@=neyk%=f`drpo}5h#g?3DbLf~ddDwps-WLJGIq<9iO#=%~ z4G$zu@E2h5)U}lMmFJ#FyTkWVsKa&9?NGTFDR%$+?tC#69U(YX1afm}wl!G+PpEDl z7UCL9;D^OZ-+v#On2jou8%c!(;|ZiYDxty@f>6RgEbTm%6KT&?*517r{B@G%y`y^& zp+fi&6zgPb$%0Pyd}6F1iL1a>8J!jCP1&IHhIu;)-;3m~_4r@tK`e-GtRQ=g{X!Q8 z)gwyn&9sjiRkPC0=0*szjG;7G51Ae-0wN+JqN4we|KW&g!&9oVrq=l#+3humO*Z2Q zquW*YawiU8rQ!sA^Uk(k9AQ;^|6xk|$G>|QR;2J+WEnP#8&5j>or_GYg&Gcu04^qOtB>f04P0Mjjj+%hb!LY5tA+Ed2T?FqhWh$ORbTcXZ*jEu9}d z9&5Pord@P+5YDxO!fgTLPRn#g``A&T3?$EdXpGxmXqTmK zIrJu|{gk;q-vF<3=e+)m=v;e{&w?Jzm{0a&O2=;Aoh<)#zw&L=x70wQ@1W*5n&%)w z1KL!&X15>SBAC}npcTjFcv!;|B(+dZrm^Ks@BTiMYv>|^nFA4X<~pO){p!QaVDV-; zKog$M9roz5lYSxyDJNNe$ESnGuZMo@yjKkmTXL=&YQx{tQ;w(~MNVN?_~-l2CEgZ$ zeMEI^F|H1Netv?PV6LWEmC;zaHLW{sW@&+E9vd6GbA#mE4KC4w3yc{(RFF!v&qtbG>D z08CC!0<#LR()IUYTrVm0vZ<l?FoX3{5Y6Ei#+tx{sg!_t*HuU z-ZFctXG(sno^a(9_ni6aDCU&|&5Ml=CoCc|Gf40+ZRVyfH!&wCDjs`Xp+JH?=%z$| z$dA0NfF9cbPMa+hS6MnY^6}1rDcMw#@?hVF>%!PvP%4Q74ER#9j#rX_8FSr!mG=k# zC8>}8bNg<77l~O@wmia8Erx6afWBnltuwc(y&n;P`7A956$q94P6C}Ry+;L=Y% z^atf(BfpGBW0U4b_y;jIh+h}rNlNq9@r$c$r86o*ORg0LB$Ch1+CAkKGZA~MlO?9q zum|?{-#8HCt9>B%P9HFjziO{KNI0f$FTCeV9H>T$gkQ?|SB3j|vM=Rgvr;b4dAFF2 mp1g?hKH_PmYNYWMwhbk94 Date: Thu, 29 Jul 2021 16:49:09 +1000 Subject: [PATCH 045/110] Highlight class name Co-authored-by: Hugo van Kemenade --- docs/deprecations.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deprecations.rst b/docs/deprecations.rst index a00623782..45720ccc0 100644 --- a/docs/deprecations.rst +++ b/docs/deprecations.rst @@ -99,7 +99,7 @@ ImagePalette size parameter The ``size`` parameter will be removed in Pillow 10.0.0 (2023-01-02). -Before Pillow 8.3.0, ImagePalette required palette data of particular lengths by +Before Pillow 8.3.0, ``ImagePalette`` required palette data of particular lengths by default, and the size parameter could be used to override that. Pillow 8.3.0 removed the default required length, also removing the need for the size parameter. From 01ab019ed8736415fcad1381ac658ccef1ca2f5a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 29 Jul 2021 16:55:50 +1000 Subject: [PATCH 046/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 3d30e05ee..7f8a9f2e3 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Prefer command line tools SDK on macOS #5624 + [radarhere] + - Added tags when saving YCbCr TIFF #5597 [radarhere] From feb3103bfd9dabe8e8e3bfa16c79de8f23ba6d8a Mon Sep 17 00:00:00 2001 From: Fariz Rahman Date: Fri, 30 Jul 2021 00:57:00 +0400 Subject: [PATCH 047/110] SGI save handler should not close output stream --- src/PIL/SgiImagePlugin.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/PIL/SgiImagePlugin.py b/src/PIL/SgiImagePlugin.py index d0f7c9993..71e288022 100644 --- a/src/PIL/SgiImagePlugin.py +++ b/src/PIL/SgiImagePlugin.py @@ -193,8 +193,6 @@ def _save(im, fp, filename): for channel in im.split(): fp.write(channel.tobytes("raw", rawmode, 0, orientation)) - fp.close() - class SGI16Decoder(ImageFile.PyDecoder): _pulls_fd = True From 6cb127c8cdb95cfc5f8e34e6cc686b565526a933 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 30 Jul 2021 10:26:07 +1000 Subject: [PATCH 048/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 7f8a9f2e3..a3527de7d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Deprecate ImagePalette size parameter #5641 + [radarhere, hugovk] + - Prefer command line tools SDK on macOS #5624 [radarhere] From 438c3cc0977de7b53decf0557d12fe302ea5d3a3 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 30 Jul 2021 19:57:09 +1000 Subject: [PATCH 049/110] Speed up rotating square images by 90 or 270 degrees --- Tests/test_image_rotate.py | 3 +++ src/PIL/Image.py | 6 ++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Tests/test_image_rotate.py b/Tests/test_image_rotate.py index 79ed79042..2d72ffa68 100644 --- a/Tests/test_image_rotate.py +++ b/Tests/test_image_rotate.py @@ -33,6 +33,9 @@ def test_angle(): with Image.open("Tests/images/test-card.png") as im: rotate(im, im.mode, angle) + im = hopper() + assert_image_equal(im.rotate(angle), im.rotate(angle, expand=1)) + def test_zero(): for angle in (0, 45, 90, 180, 270): diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 124ca392b..f00f03c49 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2074,10 +2074,8 @@ class Image: return self.copy() if angle == 180: return self.transpose(ROTATE_180) - if angle == 90 and expand: - return self.transpose(ROTATE_90) - if angle == 270 and expand: - return self.transpose(ROTATE_270) + if angle in (90, 270) and (expand or self.width == self.height): + return self.transpose(ROTATE_90 if angle == 90 else ROTATE_270) # Calculate the affine matrix. Note that this is the reverse # transformation (from destination image to source) because we From 300f1ffc024fb7c7213d94d95963e0963d7e546f Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 30 Jul 2021 20:29:07 +1000 Subject: [PATCH 050/110] Added test --- Tests/test_file_sgi.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Tests/test_file_sgi.py b/Tests/test_file_sgi.py index 0210dd4f1..6a5d8887d 100644 --- a/Tests/test_file_sgi.py +++ b/Tests/test_file_sgi.py @@ -73,6 +73,13 @@ def test_write(tmp_path): img.save(out, format="sgi") assert_image_equal_tofile(img, out) + out = str(tmp_path / "fp.sgi") + with open(out, "wb") as fp: + img.save(fp) + assert_image_equal_tofile(img, out) + + assert not fp.closed + for mode in ("L", "RGB", "RGBA"): roundtrip(hopper(mode)) From 9125631ff04e8925d1ae0f7a310728005f22f73f Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 30 Jul 2021 20:25:07 +1000 Subject: [PATCH 051/110] Added flush --- src/PIL/SgiImagePlugin.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/PIL/SgiImagePlugin.py b/src/PIL/SgiImagePlugin.py index 71e288022..5f1ef6edc 100644 --- a/src/PIL/SgiImagePlugin.py +++ b/src/PIL/SgiImagePlugin.py @@ -193,6 +193,9 @@ def _save(im, fp, filename): for channel in im.split(): fp.write(channel.tobytes("raw", rawmode, 0, orientation)) + if hasattr(fp, "flush"): + fp.flush() + class SGI16Decoder(ImageFile.PyDecoder): _pulls_fd = True From eee0953bb33a5648c454b4628801034071d4f07d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 31 Jul 2021 13:55:28 +1000 Subject: [PATCH 052/110] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index a3527de7d..6c2ba804d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 8.4.0 (unreleased) ------------------ +- Do not close file pointer when saving SGI images #5645 + [farizrahman4u, radarhere] + - Deprecate ImagePalette size parameter #5641 [radarhere, hugovk] From d1815377b8047d77634dab1de39f6554b0596d96 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 30 Jul 2021 20:11:05 +1000 Subject: [PATCH 053/110] Copy palette to new image in transform() --- Tests/test_image_transform.py | 5 +++++ src/PIL/Image.py | 2 ++ 2 files changed, 7 insertions(+) diff --git a/Tests/test_image_transform.py b/Tests/test_image_transform.py index 845900267..ea208362b 100644 --- a/Tests/test_image_transform.py +++ b/Tests/test_image_transform.py @@ -32,6 +32,11 @@ class TestImageTransform: new_im = im.transform((100, 100), transform) assert new_im.info["comment"] == comment + def test_palette(self): + with Image.open("Tests/images/hopper.gif") as im: + transformed = im.transform(im.size, Image.AFFINE, [1, 0, 0, 0, 1, 0]) + assert im.palette.palette == transformed.palette.palette + def test_extent(self): im = hopper("RGB") (w, h) = im.size diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 124ca392b..f1b167d63 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2479,6 +2479,8 @@ class Image: raise ValueError("missing method data") im = new(self.mode, size, fillcolor) + if self.mode == "P" and self.palette: + im.palette = self.palette.copy() im.info = self.info.copy() if method == MESH: # list of quads From 3cf2fffa335921221dd5bb0f26ff7befaeb17934 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 1 Aug 2021 09:54:40 +1000 Subject: [PATCH 054/110] Added release notes for #5641 --- docs/releasenotes/8.4.0.rst | 41 +++++++++++++++++++++++++++++++++++++ docs/releasenotes/index.rst | 1 + 2 files changed, 42 insertions(+) create mode 100644 docs/releasenotes/8.4.0.rst diff --git a/docs/releasenotes/8.4.0.rst b/docs/releasenotes/8.4.0.rst new file mode 100644 index 000000000..42e57745b --- /dev/null +++ b/docs/releasenotes/8.4.0.rst @@ -0,0 +1,41 @@ +8.4.0 +----- + +API Changes +=========== + +Deprecations +^^^^^^^^^^^^ + +ImagePalette size parameter +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``size`` parameter will be removed in Pillow 10.0.0 (2023-01-02). + +Before Pillow 8.3.0, ``ImagePalette`` required palette data of particular lengths by +default, and the size parameter could be used to override that. Pillow 8.3.0 removed +the default required length, also removing the need for the size parameter. + +API Additions +============= + +TODO +^^^^ + +TODO + +Security +======== + +TODO +^^^^ + +TODO + +Other Changes +============= + +TODO +^^^^ + +TODO diff --git a/docs/releasenotes/index.rst b/docs/releasenotes/index.rst index e60d26ec7..55c51a401 100644 --- a/docs/releasenotes/index.rst +++ b/docs/releasenotes/index.rst @@ -14,6 +14,7 @@ expected to be backported to earlier versions. .. toctree:: :maxdepth: 2 + 8.4.0 8.3.1 8.3.0 8.2.0 From ae548381465b5336e2daa5e04f6b9be16acdc7ab Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 1 Aug 2021 18:38:56 +1000 Subject: [PATCH 055/110] If DPI is invalid, ignore it instead of raising an error --- Tests/images/zero_dpi.jp2 | Bin 0 -> 134081 bytes Tests/test_file_jpeg2k.py | 3 +++ src/PIL/Jpeg2KImagePlugin.py | 10 ++++------ 3 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 Tests/images/zero_dpi.jp2 diff --git a/Tests/images/zero_dpi.jp2 b/Tests/images/zero_dpi.jp2 new file mode 100644 index 0000000000000000000000000000000000000000..079271fc6d86762bf99e838c7c24c7fbb3f4648d GIT binary patch literal 134081 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 literal 0 HcmV?d00001 diff --git a/Tests/test_file_jpeg2k.py b/Tests/test_file_jpeg2k.py index 1af73a767..779d246e9 100644 --- a/Tests/test_file_jpeg2k.py +++ b/Tests/test_file_jpeg2k.py @@ -155,6 +155,9 @@ def test_load_dpi(): with Image.open("Tests/images/test-card-lossless.jp2") as im: assert im.info["dpi"] == (71.9836, 71.9836) + with Image.open("Tests/images/zero_dpi.jp2") as im: + assert "dpi" not in im.info + def test_layers_type(tmp_path): outfile = str(tmp_path / "temp_layers.jp2") diff --git a/src/PIL/Jpeg2KImagePlugin.py b/src/PIL/Jpeg2KImagePlugin.py index bbcfc0ef9..cb774595e 100644 --- a/src/PIL/Jpeg2KImagePlugin.py +++ b/src/PIL/Jpeg2KImagePlugin.py @@ -131,11 +131,8 @@ def _res_to_dpi(num, denom, exp): """Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution, calculated as (num / denom) * 10^exp and stored in dots per meter, to floating-point dots per inch.""" - if num == 0 or denom == 0: - raise SyntaxError( - f"Invalid JP2 resolution information: ({num} / {denom}) * 10^{exp}" - ) - return (254 * num * (10 ** exp)) / (10000 * denom) + if denom != 0: + return num / denom * (10 ** exp) * 0.0254 def _parse_jp2_header(fp): @@ -217,7 +214,8 @@ def _parse_jp2_header(fp): vrcn, vrcd, hrcn, hrcd, vrce, hrce = res.read_fields(">HHHHBB") hres = _res_to_dpi(hrcn, hrcd, hrce) vres = _res_to_dpi(vrcn, vrcd, vrce) - dpi = (hres, vres) + if hres is not None and vres is not None: + dpi = (hres, vres) if size is None or mode is None: raise SyntaxError("Malformed JP2 header") From 3ee5a9b094b83e6ffdfda2bdeab562e64d4c3e82 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 1 Aug 2021 18:39:35 +1000 Subject: [PATCH 056/110] Stop reading from "res " after all information is extracted --- src/PIL/Jpeg2KImagePlugin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/PIL/Jpeg2KImagePlugin.py b/src/PIL/Jpeg2KImagePlugin.py index cb774595e..01d2621a1 100644 --- a/src/PIL/Jpeg2KImagePlugin.py +++ b/src/PIL/Jpeg2KImagePlugin.py @@ -216,6 +216,7 @@ def _parse_jp2_header(fp): vres = _res_to_dpi(vrcn, vrcd, vrce) if hres is not None and vres is not None: dpi = (hres, vres) + break if size is None or mode is None: raise SyntaxError("Malformed JP2 header") From 0c600f1d88266e310646a8b847888678ccbe9fe0 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 25 Jul 2021 20:36:54 +1000 Subject: [PATCH 057/110] Prevent reading past end of file pointer even if box length allows it --- src/PIL/Jpeg2KImagePlugin.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/PIL/Jpeg2KImagePlugin.py b/src/PIL/Jpeg2KImagePlugin.py index 01d2621a1..448efe4d1 100644 --- a/src/PIL/Jpeg2KImagePlugin.py +++ b/src/PIL/Jpeg2KImagePlugin.py @@ -33,12 +33,12 @@ class BoxReader: self.remaining_in_box = -1 def _can_read(self, num_bytes): + if self.has_length and self.fp.tell() + num_bytes > self.length: + # Outside box: ensure we don't read past the known file length + return False if self.remaining_in_box >= 0: # Inside box contents: ensure read does not go past box boundaries return num_bytes <= self.remaining_in_box - elif self.has_length: - # Outside box: ensure we don't read past the known file length - return self.fp.tell() + num_bytes <= self.length else: return True # No length known, just read From 8828080868160b4270a8dc76c984c39d38c77a93 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 1 Aug 2021 18:28:43 +1000 Subject: [PATCH 058/110] Removed unreachable code --- src/PIL/Jpeg2KImagePlugin.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/PIL/Jpeg2KImagePlugin.py b/src/PIL/Jpeg2KImagePlugin.py index 448efe4d1..6f25c3390 100644 --- a/src/PIL/Jpeg2KImagePlugin.py +++ b/src/PIL/Jpeg2KImagePlugin.py @@ -154,9 +154,6 @@ def _parse_jp2_header(fp): if reader.read_fields(">4s")[0] == b"jpx ": mimetype = "image/jpx" - if header is None: - raise SyntaxError("Could not find JP2 header") - size = None mode = None bpc = None From 8045ecceefd5ca9cecbd0906f6bdf8ec73c98796 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 1 Aug 2021 19:01:43 +1000 Subject: [PATCH 059/110] Added tests --- Tests/images/expected_to_read.jp2 | Bin 0 -> 134081 bytes Tests/images/invalid_header_length.jp2 | Bin 0 -> 134081 bytes Tests/images/not_enough_data.jp2 | Bin 0 -> 134081 bytes Tests/test_file_jpeg2k.py | 16 +++++++++++++++- 4 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 Tests/images/expected_to_read.jp2 create mode 100644 Tests/images/invalid_header_length.jp2 create mode 100644 Tests/images/not_enough_data.jp2 diff --git a/Tests/images/expected_to_read.jp2 b/Tests/images/expected_to_read.jp2 new file mode 100644 index 0000000000000000000000000000000000000000..d8029a0d3a0f3b08f67127143d68997731a64db7 GIT binary patch literal 134081 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