mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-11-11 04:07:21 +03:00
Keep transparency when converting from P to LA or PA
This commit is contained in:
parent
be30792714
commit
97e0cb85ee
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user