5.4.0#

API更改#

APNG扩展到PNG插件#

动画便携式网络图形(APNG)图像不完全受支持,但可以通过PNG插件打开以获取一些基本信息:

im = Image.open("image.apng")
print(im.mode)  # "RGBA"
print(im.size)  # (245, 245)
im.show()  # Shows a single frame

检查libjpeg turbo#

您可以根据libjpeg库的libjpeg-turbo版本检查Pillow:

from PIL import features
features.check_feature("libjpeg_turbo")  # True or False

像素访问中的负索引#

当访问单个图像像素时,负索引现在也被接受。例如,要获取或设置图像右下角最远的像素:

px = im.load()
print(px[-1, -1])
px[-1, -1] = (0, 0, 0)

新的自定义TIFF标记#

现在可以使用自定义整数、浮点和字符串TIFF标记保存TIFF图像:

im = Image.new("RGB", (200, 100))
custom = {
    37000: 4,
    37001: 4.2,
    37002: "custom tag value",
    37003: u"custom tag value",
    37004: b"custom tag value",
}
im.save("output.tif", tiffinfo=custom)

im2 = Image.open("output.tif")
print(im2.tag_v2[37000])  # 4
print(im2.tag_v2[37002])  # "custom tag value"
print(im2.tag_v2[37004])  # b"custom tag value"

其他变化#

ImageOps.fit#

现在使用一个调整大小的操作 box 内部参数,而不是裁剪和缩放操作序列。这提高了自 box 参数接受浮点值。