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)

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 and of length size times the number of colors in mode. 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, it cannot be equal to or greater than 256. Defaults to 0.
getcolor(color)

Given an rgb tuple, allocate palette entry.

Warning

This method is experimental.

getdata()

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

Warning

This method is experimental.

save(fp)

Save palette to text file.

Warning

This method is experimental.

tobytes()

Convert palette to bytes.

Warning

This method is experimental.

tostring()

Convert palette to bytes.

Warning

This method is experimental.