Skip to content

Commit b7353af

Browse files
authored
Merge pull request #6567 from radarhere/palette
2 parents 3a30a87 + 2a7e603 commit b7353af

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

src/PIL/ImagePalette.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,24 @@ def palette(self):
5050

5151
@palette.setter
5252
def palette(self, palette):
53+
self._colors = None
5354
self._palette = palette
5455

55-
mode_len = len(self.mode)
56-
self.colors = {}
57-
for i in range(0, len(self.palette), mode_len):
58-
color = tuple(self.palette[i : i + mode_len])
59-
if color in self.colors:
60-
continue
61-
self.colors[color] = i // mode_len
56+
@property
57+
def colors(self):
58+
if self._colors is None:
59+
mode_len = len(self.mode)
60+
self._colors = {}
61+
for i in range(0, len(self.palette), mode_len):
62+
color = tuple(self.palette[i : i + mode_len])
63+
if color in self._colors:
64+
continue
65+
self._colors[color] = i // mode_len
66+
return self._colors
67+
68+
@colors.setter
69+
def colors(self, colors):
70+
self._colors = colors
6271

6372
def copy(self):
6473
new = ImagePalette()

0 commit comments

Comments
 (0)