mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-11-13 05:06:49 +03:00
Defer parsing of palette into colors
This commit is contained in:
parent
d843759ca9
commit
2a7e603ae2
|
@ -50,15 +50,24 @@ class ImagePalette:
|
||||||
|
|
||||||
@palette.setter
|
@palette.setter
|
||||||
def palette(self, palette):
|
def palette(self, palette):
|
||||||
|
self._colors = None
|
||||||
self._palette = palette
|
self._palette = palette
|
||||||
|
|
||||||
mode_len = len(self.mode)
|
@property
|
||||||
self.colors = {}
|
def colors(self):
|
||||||
for i in range(0, len(self.palette), mode_len):
|
if self._colors is None:
|
||||||
color = tuple(self.palette[i : i + mode_len])
|
mode_len = len(self.mode)
|
||||||
if color in self.colors:
|
self._colors = {}
|
||||||
continue
|
for i in range(0, len(self.palette), mode_len):
|
||||||
self.colors[color] = i // mode_len
|
color = tuple(self.palette[i : i + mode_len])
|
||||||
|
if color in self._colors:
|
||||||
|
continue
|
||||||
|
self._colors[color] = i // mode_len
|
||||||
|
return self._colors
|
||||||
|
|
||||||
|
@colors.setter
|
||||||
|
def colors(self, colors):
|
||||||
|
self._colors = colors
|
||||||
|
|
||||||
def copy(self):
|
def copy(self):
|
||||||
new = ImagePalette()
|
new = ImagePalette()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user