9.5.0#

废弃#

PSFile#

这个 PSFile 类已弃用,将在枕头11(2024-10-15)中删除。此类仅用作内部使用的帮助器,因此没有替代类。如果您需要此功能,那么它是一个非常短的类,可以很容易地在您自己的代码中重新创建。

API添加#

QOI文件格式#

Pillow现在可以读取相当好的图像格式的图像。

增列 dpi 保存PDF时的参数#

保存PDF时,可能已经使用 resolution 争论。现在,一组 (x_resolution, y_resolution) 可以作为以下形式提供 dpi 。如果两者都提供, dpi 将覆盖 resolution

增列 corners 参数为 ImageDraw.rounded_rectangle()#

ImageDraw.rounded_rectangle() 现在接受关键字参数 corners 。这是一个布尔元组,指定是否对每个角进行舍入, (top_left, top_right, bottom_right, bottom_left)

JPEG2000注释和PLT标记#

打开JPEG2000图像时,现在可以读取注释 info 。这个 comment 可以使用关键字参数再次将其保存回来。

如果OpenJPEG2.4.0或更高版本可用,并且 plt 当保存JPEG2000图像时,关键字参数存在且为真,告诉编码器生成PLT标记。

安全性#

使用后清除PPM半令牌#

磁盘上较小的图像文件通常会被阻止扩展为大图像,从而消耗大量资源,这仅仅是因为它们缺乏填充这些资源的数据。

如果像素值尚未完成,PpmImagePlugin可能会保留为像素值读取的最后数据。然而,这些数据后来并没有被清除,这意味着无限的数据可以用来填充任何大小的图像。这一点从枕头9.2.0开始就存在了。

这些数据现在在使用后被清除。

保存TIFF标记ImageSourceData#

如果Pillow错误地将TIFF标记ImageSourceData保存为ASCII而不是未定义,则会触发分段错误。

现在,默认情况下将使用正确的标记类型。

其他变化#

添加了对在RGBA模式下保存PDF的支持#

使用JPXDecode过滤器,现在可以在RGBA模式下保存PDF。

改进的i;16N支持#

增加了对I;16N接入、打包和拆包的支持。还添加了与L模式的相互转换。

BGR;*模式#

现在可以创建新的bgr;15、bgr;16和bgr;24图像。相反,BGR;32已从ImageMode及其相关方法中删除,放弃了Pillow对该模式的少量支持。

如此一来,下列出的所有模式 模式 现在可以用来创建新的图像。