6.0.0

向后兼容的改变

Python 3.4 dropped

Python 3.4 is EOL since 2019-03-16 and no longer supported. We will not be creating binaries, testing, or retaining compatibility with this version. The final version of Pillow for Python 3.4 is 5.4.1.

Removed deprecated PIL.OleFileIO

PIL.OleFileIO was removed as a vendored file and in Pillow 4.0.0 (2017-01) in favour of the upstream olefile Python package, and replaced with an ImportError. The deprecated file has now been removed from Pillow. If needed, install from PyPI (eg. pip install olefile).

Removed deprecated ImageOps functions

Several undocumented functions in ImageOps were deprecated in Pillow 4.3.0 (2017-10) and have now been removed: gaussian_blur, gblur, unsharp_mask, usm and box_blur. Use the equivalent operations in ImageFilter instead.

Removed deprecated VERSION

VERSION (the old PIL version, always 1.1.7) has been removed. Use __version__ instead.

API Changes

Deprecations

Python 2.7

Python 2.7 reaches end-of-life on 2020-01-01.

Pillow 7.0.0 will be released on 2020-01-01 and will drop support for Python 2.7, making Pillow 6.x the last series to support Python 2.

PyQt4 and PySide

Qt 4 reached end-of-life on 2015-12-19. Its Python bindings are also EOL: PyQt4 since 2018-08-31 and PySide since 2015-10-14.

Support for PyQt4 and PySide has been deprecated from ImageQt and will be removed in a future version. Please upgrade to PyQt5 or PySide2.

PIL.*ImagePlugin.__version__ 属性

These version constants have been deprecated and will be removed in a future version.

  • BmpImagePlugin.__version__

  • CurImagePlugin.__version__

  • DcxImagePlugin.__version__

  • EpsImagePlugin.__version__

  • FliImagePlugin.__version__

  • FpxImagePlugin.__version__

  • GdImageFile.__version__

  • GifImagePlugin.__version__

  • IcoImagePlugin.__version__

  • ImImagePlugin.__version__

  • ImtImagePlugin.__version__

  • IptcImagePlugin.__version__

  • Jpeg2KImagePlugin.__version__

  • JpegImagePlugin.__version__

  • McIdasImagePlugin.__version__

  • MicImagePlugin.__version__

  • MpegImagePlugin.__version__

  • MpoImagePlugin.__version__

  • MspImagePlugin.__version__

  • PalmImagePlugin.__version__

  • PcdImagePlugin.__version__

  • PcxImagePlugin.__version__

  • PdfImagePlugin.__version__

  • PixarImagePlugin.__version__

  • PngImagePlugin.__version__

  • PpmImagePlugin.__version__

  • PsdImagePlugin.__version__

  • SgiImagePlugin.__version__

  • SunImagePlugin.__version__

  • TgaImagePlugin.__version__

  • TiffImagePlugin.__version__

  • WmfImagePlugin.__version__

  • XbmImagePlugin.__version__

  • XpmImagePlugin.__version__

  • XVThumbImagePlugin.__version__

Use PIL.__version__ instead.

ImageCms.CmsProfile attributes

Some attributes in ImageCms.CmsProfile have been deprecated since Pillow 3.2.0. From 6.0.0, they issue a DeprecationWarning:

Deprecated

Use instead

color_space

Padded xcolor_space

pcs

Padded connection_space

product_copyright

Unicode copyright

product_desc

Unicode profile_description

product_description

Unicode profile_description

product_manufacturer

Unicode manufacturer

product_model

Unicode model

MIME type improvements

Previously, all JPEG2000 images had the MIME type “image/jpx”. This has now been corrected. After the file format drivers have been loaded, Image.MIME["JPEG2000"] will return “image/jp2”. ImageFile.get_format_mimetype will return “image/jpx” if a JPX profile is present, or “image/jp2” otherwise.

Previously, all SGI images had the MIME type “image/rgb”. This has now been corrected. After the file format drivers have been loaded, Image.MIME["SGI"] will return “image/sgi”. ImageFile.get_format_mimetype will return “image/rgb” if RGB image data is present, or “image/sgi” otherwise.

MIME types have been added to the PPM format. After the file format drivers have been loaded, Image.MIME["PPM"] will now return the generic “image/x-portable-anymap”. ImageFile.get_format_mimetype will return a MIME type specific to the color type.

The TGA, PCX and ICO formats also now have MIME types: “image/x-tga”, “image/x-pcx” and “image/x-icon” respectively.

API Additions

AFTER文件格式

枕头现在支持读取和写入的设备无关位图文件格式。

Image.quantize

The dither option is now a customisable parameter (was previously hardcoded to 1). This parameter takes the same values used in convert().

新的语言参数

这些文本渲染功能,现在接受了``language``参数从字体请求特定语言的字形和连字:

  • ImageDraw.ImageDraw.multiline_text()

  • ImageDraw.ImageDraw.multiline_textsize()

  • ImageDraw.ImageDraw.text()

  • ImageDraw.ImageDraw.textsize()

  • ImageFont.ImageFont.getmask()

  • ImageFont.ImageFont.getsize_multiline()

  • ImageFont.ImageFont.getsize()

Added EXIF class

getexif() has been added, which returns an Exif instance. Values can be retrieved and set like a dictionary. When saving JPEG, PNG or WEBP, the instance can be passed as an exif argument to include any changes in the output image.

Added ImageOps.exif_transpose

exif_transpose() 返回图像的副本,根据其EXIF方向标签调换。

PNG EXIF data

EXIF data can now be read from and saved to PNG images. However, unlike other image formats, EXIF data is not guaranteed to be present in info until load() has been called.

Other Changes

阅读新的DDS图像格式

枕头现在可以读取DDS图像无压缩RGB数据。

与老式的JPEG压缩TIFF阅读

新增支持读取TIFF文件通过的libtiff旧式的JPEG压缩。现在所有的YCbCr的TIFF图像总是读出RGB。

TIFF压缩编解码

支持已被添加为LZMA,Zstd和WebP的TIFF压缩编解码器。

对于我换位改进支持; 16个图像

I;16, I;16L and I;16B 现在支持所有图像模式:PY:甲基:`〜PIL.Image.Image.transpose`操作。