3.3.0
Libimagequant support
There is now support for using libimagequant as a higher qualityquantization option in Image.quantize()
on Unix-likeplatforms. This support requires building Pillow from source againstlibimagequant. We cannot distribute binaries due to licensingdifferences.
New Setup.py options
There are two new options to control the build_ext
task in setup.py
:
—debug
dumps all of the directories and files that are
checked when searching for libraries or headers when building the
extensions.—disable-platform-guessing
removes many of the directories
that are checked for libraries and headers for build systems or
cross compilers that specify that information in via environment
variables.
Resizing
Image resampling for 8-bit per channel images was rewritten using only integercomputings. This is faster on most platforms and doesn’t introduce precisionerrors on the wide range of scales. With other performance improvements, thismakes resampling 60% faster on average.
Color calculation for images in the LA
mode on semitransparent pixelswas fixed.
Rotation
Rotation for angles divisible by 90 degrees now always uses transposition.This greatly improves both quality and performance in this case.Also, the bug with wrong image size calculation when rotating by 90 degreeswas fixed.
Image Metadata
The return type for binary data in version 2 Exif and Tiff metadatahas been changed from a tuple of integers to bytes. This is a changefrom the behavior since 3.0.0
.