mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-11-04 01:47:47 +03:00 
			
		
		
		
	Document PIL.ImagePalette as best I can
This commit is contained in:
		
							parent
							
								
									58e6d89f80
								
							
						
					
					
						commit
						7881c86bba
					
				| 
						 | 
					@ -19,11 +19,9 @@
 | 
				
			||||||
import array
 | 
					import array
 | 
				
			||||||
from PIL import Image, ImageColor
 | 
					from PIL import Image, ImageColor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##
 | 
					 | 
				
			||||||
# Colour palette wrapper for palette mapped images.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ImagePalette:
 | 
					class ImagePalette:
 | 
				
			||||||
    "Colour palette for palette mapped images"
 | 
					    "Color palette for palette mapped images"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __init__(self, mode = "RGB", palette = None):
 | 
					    def __init__(self, mode = "RGB", palette = None):
 | 
				
			||||||
        self.mode = mode
 | 
					        self.mode = mode
 | 
				
			||||||
| 
						 | 
					@ -35,14 +33,21 @@ class ImagePalette:
 | 
				
			||||||
            raise ValueError("wrong palette size")
 | 
					            raise ValueError("wrong palette size")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def getdata(self):
 | 
					    def getdata(self):
 | 
				
			||||||
        # experimental: get palette contents in format suitable
 | 
					        """
 | 
				
			||||||
        # for the low-level im.putpalette primitive
 | 
					        Get palette contents in format suitable # for the low-level
 | 
				
			||||||
 | 
					        ``im.putpalette`` primitive.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .. warning:: This method is experimental.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
        if self.rawmode:
 | 
					        if self.rawmode:
 | 
				
			||||||
            return self.rawmode, self.palette
 | 
					            return self.rawmode, self.palette
 | 
				
			||||||
        return self.mode + ";L", self.tobytes()
 | 
					        return self.mode + ";L", self.tobytes()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def tobytes(self):
 | 
					    def tobytes(self):
 | 
				
			||||||
        # experimental: convert palette to bytes
 | 
					        """Convert palette to bytes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .. warning:: This method is experimental.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
        if self.rawmode:
 | 
					        if self.rawmode:
 | 
				
			||||||
            raise ValueError("palette contains raw palette data")
 | 
					            raise ValueError("palette contains raw palette data")
 | 
				
			||||||
        if isinstance(self.palette, bytes):
 | 
					        if isinstance(self.palette, bytes):
 | 
				
			||||||
| 
						 | 
					@ -57,7 +62,10 @@ class ImagePalette:
 | 
				
			||||||
    tostring = tobytes
 | 
					    tostring = tobytes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def getcolor(self, color):
 | 
					    def getcolor(self, color):
 | 
				
			||||||
        # experimental: given an rgb tuple, allocate palette entry
 | 
					        """Given an rgb tuple, allocate palette entry.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .. warning:: This method is experimental.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
        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):
 | 
				
			||||||
| 
						 | 
					@ -80,7 +88,10 @@ class ImagePalette:
 | 
				
			||||||
            raise ValueError("unknown color specifier: %r" % color)
 | 
					            raise ValueError("unknown color specifier: %r" % color)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def save(self, fp):
 | 
					    def save(self, fp):
 | 
				
			||||||
        # (experimental) save palette to text file
 | 
					        """Save palette to text file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        .. warning:: This method is experimental.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
        if self.rawmode:
 | 
					        if self.rawmode:
 | 
				
			||||||
            raise ValueError("palette contains raw palette data")
 | 
					            raise ValueError("palette contains raw palette data")
 | 
				
			||||||
        if isinstance(fp, str):
 | 
					        if isinstance(fp, str):
 | 
				
			||||||
| 
						 | 
					@ -192,6 +203,3 @@ def load(filename):
 | 
				
			||||||
        raise IOError("cannot load palette")
 | 
					        raise IOError("cannot load palette")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return lut # data, rawmode
 | 
					    return lut # data, rawmode
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# add some psuedocolour palettes as well
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -86,14 +86,6 @@ can be found here.
 | 
				
			||||||
    :undoc-members:
 | 
					    :undoc-members:
 | 
				
			||||||
    :show-inheritance:
 | 
					    :show-inheritance:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:mod:`ImagePalette` Module
 | 
					 | 
				
			||||||
--------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.. automodule:: PIL.ImagePalette
 | 
					 | 
				
			||||||
    :members:
 | 
					 | 
				
			||||||
    :undoc-members:
 | 
					 | 
				
			||||||
    :show-inheritance:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
:mod:`ImagePath` Module
 | 
					:mod:`ImagePath` Module
 | 
				
			||||||
-----------------------
 | 
					-----------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										21
									
								
								docs/reference/ImagePalette.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								docs/reference/ImagePalette.rst
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					.. py:module:: PIL.ImagePalette
 | 
				
			||||||
 | 
					.. py:currentmodule:: PIL.ImagePalette
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:py:mod:`ImagePalette` Module
 | 
				
			||||||
 | 
					=============================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The :py:mod:`ImagePalette` module contains a class of the same name to
 | 
				
			||||||
 | 
					represent the color palette of palette mapped images.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. note::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    This module was never well-documented. It hasn't changed since 2001,
 | 
				
			||||||
 | 
					    though, so it's probably safe for you to read the source code and puzzle
 | 
				
			||||||
 | 
					    out the internals if you need to.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    The :py:class:`~PIL.ImagePalette.ImagePalette` class has several methods,
 | 
				
			||||||
 | 
					    but they are all marked as "experimental." Read that as you will. The
 | 
				
			||||||
 | 
					    ``[source]`` link is there for a reason.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. autoclass:: PIL.ImagePalette.ImagePalette
 | 
				
			||||||
 | 
					    :members:
 | 
				
			||||||
| 
						 | 
					@ -15,4 +15,5 @@ Reference
 | 
				
			||||||
   ImageGrab
 | 
					   ImageGrab
 | 
				
			||||||
   ImageMath
 | 
					   ImageMath
 | 
				
			||||||
   ImageOps
 | 
					   ImageOps
 | 
				
			||||||
 | 
					   ImagePalette
 | 
				
			||||||
   ../PIL
 | 
					   ../PIL
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user