Backwards Incompatible Changes#

Several methods that have been marked as deprecated for many releases have been removed in this release:

  • Image.tostring()

  • Image.fromstring()

  • Image.offset()

  • ImageDraw.setink()

  • ImageDraw.setfill()

  • The ImageFileIO module

  • The ImageFont.FreeTypeFont and ImageFont.truetype file keyword arg

  • The ImagePalette private _make functions

  • ImageWin.fromstring()

  • ImageWin.tostring()

Other Changes#

Saving Multipage Images#

There is now support for saving multipage images in the GIF and PDF formats. To enable this functionality, pass in save_all=True as a keyword argument to the save:

im.save('test.pdf', save_all=True)

Tiff ImageFileDirectory Rewrite#

The Tiff ImageFileDirectory metadata code has been rewritten. Where previously it returned a somewhat arbitrary set of values and tuples, it now returns bare values where appropriate and tuples when the metadata item is a sequence or collection.

The original metadata is still available in the TiffImage.tags, the new values are available in the TiffImage.tags_v2 member. The old structures will be deprecated at some point in the future. When saving Tiff metadata, new code should use the TiffImagePlugin.ImageFileDirectory_v2 class.

LibJpeg and Zlib are required by default#

The external dependencies on libjpeg and zlib are now required by default. If the headers or libraries are not found, then installation will abort with an error. This behaviour can be disabled with the --disable-libjpeg and --disable-zlib flags.