3.4.0#
Backwards Incompatible Changes#
Image.core.open_ppm removed#
The nominally private/debugging function Image.core.open_ppm
has
been removed. If you were using this function, please use
Image.open
instead.
Deprecations#
Deprecation Warning when Saving JPEGs#
JPEG images cannot contain an alpha channel. Pillow prior to 3.4.0
silently drops the alpha channel. With this release Pillow will now
issue a DeprecationWarning
when attempting to save a RGBA
mode
image as a JPEG. This will become an error in Pillow 4.2.
API Additions#
New resizing filters#
Two new filters available for Image.resize()
and Image.thumbnail()
functions: BOX
and HAMMING
. BOX
is the high-performance filter with
two times shorter window than BILINEAR
. It can be used for image reduction
3 and more times and produces a sharper result than BILINEAR
.
HAMMING
filter has the same performance as BILINEAR
filter while
providing the image downscaling quality comparable to BICUBIC
.
Both new filters don’t show good quality for the image upscaling.
New DDS Decoders#
Pillow can now decode DXT3 images, as well as the previously supported DXT1 and DXT5 formats. All three formats are now decoded in C code for better performance.
Append images to GIF#
Additional frames can now be appended when saving a GIF file, through the
append_images
argument. The new frames are passed in as a list of images,
which may be have multiple frames themselves.
Note that the append_images
argument is only used if save_all
is also
in effect, e.g.:
im.save(out, save_all=True, append_images=[im1, im2, ...])
Save multiple frame TIFF#
Multiple frames can now be saved in a TIFF file by using the save_all
option.
e.g.:
im.save("filename.tiff", format="TIFF", save_all=True)