mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 07:57:27 +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