5.0.0#

向后不兼容的更改#

python 3.3已删除#

python 3.3是EOL,由于将测试从nose(不推荐使用)移动到pytest(不支持python 3.3),所以不再受支持。我们将不会创建二进制文件、测试或保留与此版本的兼容性。python 3.3的Pillow最终版本是4.3.0。

减压炸弹现在引发了例外#

Pillow 之前已经发出警告的图像是出乎意料的大,可能是拒绝服务。这些警告现在升级到 DecompressionBombError 对于两倍于触发 DecompressionBombWarning . 默认阈值为128mpx,或0.5GB RGBRGBA 图像。可通过设置禁用或更改 Image.MAX_IMAGE_PIXELS = None .

脚本#

以前由Pillow安装的脚本被分成一个单独的包,Pillow脚本,位于https://github.com/python-bellow/bellow-scripts。

API更改#

OleFileIO.py#

在安装Pillow时,olefile模块不再是必需的依赖项。如果未安装需要olefile的插件,则不会加载对该插件的支持。这允许库使用者在选择时避免安装此依赖项。一些库消费者对格式支持没有兴趣,希望将依赖性保持在最低限度。

此外,在Pillow4.0.0中删除了所售版本,并替换为一个警告,即pil.olefileio将在未来版本中删除。此警告已升级为等待将来删除的导入错误。

保存时检查参数#

几个图像插件支持 check 它们名义上私有的参数 _save 方法,如果图像可以保存为该格式,则对其进行预编译。该参数已被删除。

API添加#

Image.transform#

一个新的命名参数, fillcolor ,已添加到 Image.transform . 此颜色指定要在输出图像中转换区域之外的区域中使用的背景色。此参数采用与中使用的颜色规格相同的颜色 Image.new .

GIF处理#

多帧GIF图像现在采用一个可选的处置参数来指定已更改像素的处置选项。

其他变化#

压缩的TIFF图像#

以前,有一些压缩模式(jpeg、packbits和lzw)支持 Pillow 的内部tiff解码器。现在可以使用 libtiff 解码器,因为它更正确地实现了压缩方案。

现在,libraqm是动态链接的#

复杂文本脚本的libraqm依赖项现在在运行时动态链接,而不是在打包时。这允许我们发布支持libraqm的二进制文件(如果它安装在用户的计算机上)。

源布局更改#

Pillow 源现在存储在 src 分发目录。这可以防止从项目目录运行python时意外导入pil目录。

设置.py更改#

Linux上的多arch支持应该更加强大,特别是在ARM平台上的Debian衍生产品上。Debian的多架构平台配置优先于机器平台和体系结构的嗅探。