6.0.0#

向后不兼容的更改#

python 3.4已删除#

python 3.4自2019-03-16起即为EOL,不再受支持。我们将不会创建二进制文件、测试或保留与此版本的兼容性。python 3.4的Pillow的最终版本是5.4.1。

删除了不推荐使用的pil.olefileio#

在Pillow 4.0.0(2017-01)中,PIL.OleFileIO作为供应商文件被删除,取而代之的是上游olefile Python包,并被替换为 ImportError 。不推荐使用的文件现在已从枕头中删除。如果需要,请从PyPI安装(例如 python3 -m pip install olefile )。

删除了不推荐使用的ImageOps函数#

ImageOps 已在 Pillow 4.3.0(2017-10)中弃用,现已移除: gaussian_blurgblurunsharp_maskusmbox_blur . 使用中的等效操作 ImageFilter 相反。

已删除不推荐的版本#

VERSION (旧PIL版本,始终为1.1.7)已删除。使用 __version__ 相反。

API更改#

废弃#

Python 2.7#

python 2.7在2020-01-01达到了生命终结。

Pillow7.0.0将于2020-01-01发布,并将放弃对python 2.7的支持,使Pillow6.x成为支持python 2的最后一个系列。

Pyqt4和Pyside#

qt 4在2015-12-19达到了寿命终止。它的python绑定也是eol:pyqt4(自2018-08-31)和pyside(自2015-10-14)。

对pyqt4和pyside的支持已从弃用 ImageQt 将在将来的版本中删除。请升级到pyqt5或pyside2。

pil.*imageplugin.u版本属性#

这些版本常量已被弃用,将在将来的版本中删除。

  • 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__

使用 PIL.__version__ 相反。

imagecms.cmsprofile属性#

中的一些属性 ImageCms.CmsProfile 从枕头3.2.0开始就被弃用了。从6.0.0开始,他们发布了 DeprecationWarning

已弃用

代替使用

color_space

加垫的 xcolor_space

pcs

加垫的 connection_space

product_copyright

统一码 copyright

product_desc

统一码 profile_description

product_description

统一码 profile_description

product_manufacturer

统一码 manufacturer

product_model

统一码 model

MIME类型改进#

以前,所有JPEG2000图像都具有mime类型“image/jpx”。现在已经纠正了。加载文件格式驱动程序后, Image.MIME["JPEG2000"] 将返回“image/jp2”。 ImageFile.get_format_mimetype 如果存在JPX配置文件,将返回“image/jpx”,否则返回“image/jp2”。

以前,所有SGI图像都具有mime类型“image/rgb”。现在已经纠正了。加载文件格式驱动程序后, Image.MIME["SGI"] 将返回“image/sgi”。 ImageFile.get_format_mimetype 如果存在RGB图像数据,将返回“image/rgb”,否则返回“image/sgi”。

mime类型已添加到PPM格式。加载文件格式驱动程序后, Image.MIME["PPM"] 现在将返回通用的“image/x-portable-anymap”。 ImageFile.get_format_mimetype 将返回特定于颜色类型的mime类型。

TGA、PCX和ICO格式现在也分别具有mime类型:“image/x-tga”、“image/x-pcx”和“image/x-icon”。

API添加#

DIB文件格式#

Pillow现在支持读写设备独立的位图文件格式。

Image.quantize#

这个 dither 选项现在是一个可自定义参数(以前硬编码到 1 )此参数采用的值与 convert() .

新语言参数#

这些文本呈现函数现在接受 language 从字体请求特定于语言的glyph和连字的参数:

  • ImageDraw.ImageDraw.multiline_text()

  • ImageDraw.ImageDraw.multiline_textsize()

  • ImageDraw.ImageDraw.text()

  • ImageDraw.ImageDraw.textsize()

  • ImageFont.ImageFont.getmask()

  • ImageFont.ImageFont.getsize_multiline()

  • ImageFont.ImageFont.getsize()

添加了exif类#

getexif() 已添加,返回 Exif 实例。可以像字典一样检索和设置值。保存jpeg、png或webp时,实例可以作为 exif 参数来包含输出图像中的任何更改。

添加了imageops.exif_转置#

exif_transpose() 返回图像的副本,并根据其exif方向标记进行转置。

PNG exif数据#

现在可以读取exif数据并将其保存到png图像中。但是,与其他图像格式不同的是,exif数据不能保证存在于 info 直到 load() 已被调用。

其他变化#

读取新的DDS图像格式#

Pillow现在可以从DDS图像中读取未压缩的RGB数据。

使用旧式JPEG压缩读取TIFF#

增加了通过libtiff读取具有旧式jpeg压缩的tiff文件的支持。所有YCBCR TIFF图像现在都始终读取为RGB。

TIFF压缩编解码器#

增加了对lzma、zsd和webp tiff压缩编解码器的支持。

改进了对转置i的支持;16张图像#

i;16,i;16l和i;16b现在支持所有图像模式 transpose() 操作。