向后不兼容的更改
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 RGB
或 RGBA
图像。可通过设置禁用或更改 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的多架构平台配置优先于机器平台和体系结构的嗅探。
讨论区