ImageTk Module

The ImageTk module contains support to create and modify Tkinter BitmapImage and PhotoImage objects from PIL images.

For examples, see the demo programs in the Scripts directory.

class PIL.ImageTk.BitmapImage(image=None, **kw)[source]

A Tkinter-compatible bitmap image. This can be used everywhere Tkinter expects an image object.

The given image must have mode “1”. Pixels having value 0 are treated as transparent. Options, if any, are passed on to Tkinter. The most commonly used option is foreground, which is used to specify the color for the non-transparent parts. See the Tkinter documentation for information on how to specify colours.

Parameters:image – A PIL image.
height()[source]

Get the height of the image.

Returns:The height, in pixels.
width()[source]

Get the width of the image.

Returns:The width, in pixels.
class PIL.ImageTk.PhotoImage(image=None, size=None, **kw)[source]

A Tkinter-compatible photo image. This can be used everywhere Tkinter expects an image object. If the image is an RGBA image, pixels having alpha 0 are treated as transparent.

The constructor takes either a PIL image, or a mode and a size. Alternatively, you can use the file or data options to initialize the photo image object.

Parameters:
  • image – Either a PIL image, or a mode string. If a mode string is used, a size must also be given.
  • size – If the first argument is a mode string, this defines the size of the image.
  • file – A filename to load the image from (using Image.open(file)).
  • data – An 8-bit string containing image data (as loaded from an image file).
height()[source]

Get the height of the image.

Returns:The height, in pixels.
paste(im, box=None)[source]

Paste a PIL image into the photo image. Note that this can be very slow if the photo image is displayed.

Parameters:
  • im – A PIL image. The size must match the target region. If the mode does not match, the image is converted to the mode of the bitmap image.
  • box – A 4-tuple defining the left, upper, right, and lower pixel coordinate. See Coordinate System. If None is given instead of a tuple, all of the image is assumed.
width()[source]

Get the width of the image.

Returns:The width, in pixels.