mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-06-05 21:53:15 +03:00
Convert getcolor input to RGBA if that is the palette mode
This commit is contained in:
parent
4d36feefc7
commit
3b9792ab74
|
@ -23,8 +23,12 @@ def test_getcolor():
|
||||||
test_map = {}
|
test_map = {}
|
||||||
for i in range(256):
|
for i in range(256):
|
||||||
test_map[palette.getcolor((i, i, i))] = i
|
test_map[palette.getcolor((i, i, i))] = i
|
||||||
|
|
||||||
assert len(test_map) == 256
|
assert len(test_map) == 256
|
||||||
|
|
||||||
|
# Colors can be converted between RGB and RGBA
|
||||||
|
rgba_palette = ImagePalette.ImagePalette("RGBA")
|
||||||
|
assert rgba_palette.getcolor((0, 0, 0)) == rgba_palette.getcolor((0, 0, 0, 255))
|
||||||
|
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
palette.getcolor((1, 2, 3))
|
palette.getcolor((1, 2, 3))
|
||||||
|
|
||||||
|
|
|
@ -105,6 +105,8 @@ class ImagePalette:
|
||||||
if self.rawmode:
|
if self.rawmode:
|
||||||
raise ValueError("palette contains raw palette data")
|
raise ValueError("palette contains raw palette data")
|
||||||
if isinstance(color, tuple):
|
if isinstance(color, tuple):
|
||||||
|
if self.mode == "RGBA" and len(color) == 3:
|
||||||
|
color += (255,)
|
||||||
try:
|
try:
|
||||||
return self.colors[color]
|
return self.colors[color]
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user