From 7e1a0ca54436bddfa38386a0b8ed5dc025ddee92 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 13 Aug 2022 18:32:29 +1000 Subject: [PATCH] Open 1 bit EPS in mode 1 --- Tests/images/1.eps | Bin 0 -> 45834 bytes Tests/test_file_eps.py | 5 +++++ src/PIL/EpsImagePlugin.py | 13 ++++++++----- 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 Tests/images/1.eps diff --git a/Tests/images/1.eps b/Tests/images/1.eps new file mode 100644 index 0000000000000000000000000000000000000000..727dc9b7f044a76c5021361e57abe2764cd8567b GIT binary patch literal 45834 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 N&d=2kJ?@+IzW}D#8wUUY literal 0 HcmV?d00001 diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index 1790f4f7701..766c5064920 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -146,6 +146,11 @@ def test_bytesio_object(): assert_image_similar(img, image1_scale1_compare, 5) +def test_1_mode(): + with Image.open("Tests/images/1.eps") as im: + assert im.mode == "1" + + def test_image_mode_not_supported(tmp_path): im = hopper("RGBA") tmpfile = str(tmp_path / "temp.eps") diff --git a/src/PIL/EpsImagePlugin.py b/src/PIL/EpsImagePlugin.py index 3b782d6b353..0e434c5c0ea 100644 --- a/src/PIL/EpsImagePlugin.py +++ b/src/PIL/EpsImagePlugin.py @@ -288,11 +288,14 @@ def _open(self): # Encoded bitmapped image. x, y, bi, mo = s[11:].split(None, 7)[:4] - if int(bi) != 8: - break - try: - self.mode = self.mode_map[int(mo)] - except ValueError: + if int(bi) == 1: + self.mode = "1" + elif int(bi) == 8: + try: + self.mode = self.mode_map[int(mo)] + except ValueError: + break + else: break self._size = int(x), int(y)