贬抑
JpegImagePlugin.convert_dict_qtables
JPEG quantization
现在自动转换,但仍作为字典返回。这个 convert_dict_qtables
方法不再对提供给它的数据执行任何操作,已被弃用,将在Pillow 10.0.0(2023-01-02)中删除。
API更改
保存时更改WebP默认“方法”值
以前,它是0,表示最佳速度。默认值现在已更改为4,以匹配WebP的默认值,以获得更高的质量,同时仍有一些速度优化。
特殊图像模式的默认重采样过滤
Pillow7.0将默认重采样过滤更改为 Image.BICUBIC
。但是,由于具有自定义位数的图像尚不支持此功能,因此这些模式的默认过滤已恢复为 Image.NEAREST
。
ImageMorph错误模式错误
为 apply()
, match()
和 get_on_pixels()
,如果图像模式不是L,则引发 Exception
被扔出去了。现在,它已更改为 ValueError
。
getxmp()
XMP data 现在可以为PNG和TIFF图像返回,通过 getxmp()
对于每种格式。
返回的字典将从XML的底部开始,这意味着顶层应该包含一个“xmpmeta”键。JPEG的 getxmp()
方法也已更新到此结构。
TIFF getexif()
TIFF tag_v2
现在可以通过以下方式访问数据 getexif()
。这也提供了对GPS和EXIF IFDS的访问,通过 im.getexif().get_ifd(0x8825)
和 im.getexif().get_ifd(0x8769)
分别为。
API添加
ImageOps.contain
返回图像的调整大小版本,设置为中的最大宽度和高度 size
,同时保持原始纵横比。
要将其与其他ImageOps方法进行比较,请执行以下操作:
ICO保存:BITMAP_FORMAT参数
默认情况下,枕头以PNG格式存储ICO文件。它们现在还可以保存为BMP格式,通过新的 bitmap_format
参数::
im.save("out.ico", bitmap_format="bmp")
安全性
缓冲区溢出
此版本针对的是 CVE-2021-34552 。从1.1.4开始的PIL和从1.0开始的Pillow允许将参数传递到CONVERT函数以触发Convert.c中的缓冲区溢出。
解析XML
Pillow之前使用Python的 xml
模块。但是,此模块不安全。
其他变化
添加了DDS BC5读取和解压缩保存
添加了读取DDS图像的BC5格式的支持,无论是UN RM、SNORM还是TYPELESS。
还添加了对写入DDS图像的未压缩格式的支持。
讨论区