From 8206f14419873c7186ba7b9028d9d5189bce385b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 6 Mar 2021 21:44:31 +1100 Subject: [PATCH 1/2] Simplified code --- src/PIL/Image.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 01fe7ed1b..cc1c23fdb 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2396,18 +2396,11 @@ class Image: :returns: An :py:class:`~PIL.Image.Image` object. """ - if self.mode == "LA": + if self.mode in ("LA", "RGBA"): return ( - self.convert("La") + self.convert(self.mode.replace("A", "a")) .transform(size, method, data, resample, fill, fillcolor) - .convert("LA") - ) - - if self.mode == "RGBA": - return ( - self.convert("RGBa") - .transform(size, method, data, resample, fill, fillcolor) - .convert("RGBA") + .convert(self.mode) ) if isinstance(method, ImageTransformHandler): From e437a8f9817d993df4b53e675dab24c069acab88 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 7 Mar 2021 13:14:07 +1100 Subject: [PATCH 2/2] Do not edit text of mode strings --- src/PIL/Image.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index cc1c23fdb..451349d17 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1913,7 +1913,7 @@ class Image: resample = NEAREST if self.mode in ["LA", "RGBA"]: - im = self.convert(self.mode[:-1] + "a") + im = self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) im = im.resize(size, resample, box) return im.convert(self.mode) @@ -1963,7 +1963,7 @@ class Image: return self.copy() if self.mode in ["LA", "RGBA"]: - im = self.convert(self.mode[:-1] + "a") + im = self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) im = im.reduce(factor, box) return im.convert(self.mode) @@ -2398,7 +2398,7 @@ class Image: if self.mode in ("LA", "RGBA"): return ( - self.convert(self.mode.replace("A", "a")) + self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) .transform(size, method, data, resample, fill, fillcolor) .convert(self.mode) )