ImagePalette Module

The 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 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.

class PIL.ImagePalette.ImagePalette(mode='RGB', palette=None, size=0)[source]

Color palette for palette mapped images

Parameters
  • mode – The mode to use for the Palette. See: Modes. Defaults to “RGB”

  • palette – An optional palette. If given, it must be a bytearray, an array or a list of ints between 0-255. The list must be aligned by channel (All R values must be contiguous in the list before G and B values.) Defaults to 0 through 255 per channel.

  • size – An optional palette size. If given, an error is raised if palette is not of equal length.

getcolor(color, image=None)[source]

Given an rgb tuple, allocate palette entry.

Warning

This method is experimental.

getdata()[source]

Get palette contents in format suitable for the low-level im.putpalette primitive.

Warning

This method is experimental.

save(fp)[source]

Save palette to text file.

Warning

This method is experimental.

tobytes()[source]

Convert palette to bytes.

Warning

This method is experimental.

tostring()

Convert palette to bytes.

Warning

This method is experimental.