Skip to content

Commit

Permalink
Merge pull request #5606 from radarhere/convert_transparency
Browse files Browse the repository at this point in the history
  • Loading branch information
hugovk committed Aug 13, 2021
2 parents afebfcb + 97e0cb8 commit 3d35e54
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
14 changes: 9 additions & 5 deletions Tests/test_image_convert.py
Expand Up @@ -104,18 +104,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):
Expand Down
2 changes: 1 addition & 1 deletion src/PIL/Image.py
Expand Up @@ -1007,7 +1007,7 @@ def convert_transparency(m, v):
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

Expand Down

0 comments on commit 3d35e54

Please sign in to comment.