Skip to content

Latest commit

 

History

History
60 lines (41 loc) · 1.74 KB

9.3.0.rst

File metadata and controls

60 lines (41 loc) · 1.74 KB

9.3.0

Backwards Incompatible Changes

API Additions

Allow default ImageDraw font to be set

Rather than specifying a font when calling text-related ImageDraw methods, or setting a font on each ImageDraw instance, the default font can now be set for all future ImageDraw operations:

from PIL import ImageDraw, ImageFont
ImageDraw.ImageDraw.font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")

Saving multiple MPO frames

Multiple MPO frames can now be saved. Using the save_all argument, all of an image's frames will be saved to file:

from PIL import Image
im = Image.open("frozenpond.mpo")
im.save(out, save_all=True)

Additional images can also be appended when saving, by combining the save_all argument with the append_images argument:

im.save(out, save_all=True, append_images=[im1, im2, ...])

Security

Decode JPEG compressed BLP1 data in original mode

Within the BLP image format, BLP1 data may use JPEG compression. Instead of telling the JPEG library that this data is in BGRX mode, Pillow will now decode the data in its natural CMYK mode, then convert it to RGB and rearrange the channels afterwards. Trying to load the data in an incorrect mode could result in a segmentation fault.

Other Changes

Added DDS ATI1, ATI2 and BC6H reading

Support has been added to read the ATI1, ATI2 and BC6H formats of DDS images.

Show all frames with ImageShow

When calling :py~PIL.Image.Image.show or using :py~PIL.ImageShow, all frames will now be shown.