9.4.0#

API添加#

添加了get掩码和getmask2的起始位置#

从分数坐标开始时,文本的呈现方式可能有所不同,因此 FreeTypeFont.getmask()FreeTypeFont.getmask2() 现在支持 start 争论。此水平和垂直偏移量的元组将在内部使用 ImageDraw.text() 为了更准确地将文本放置在 xy 坐标。

添加了 exact WebP的编码选项#

这个 exact 现在支持WebP的编码选项。默认情况下,在libwebp 0.5或更高版本中,WebP编码器会删除隐藏的RGB值以获得更好的压缩效果。通过将此选项设置为 True 时,编码器将保留隐藏的RGB值。

增列 signed 保存JPEG2000时的选项#

如果 signed 当保存JPEG2000图像时,关键字参数存在且为真,然后告诉编码器将图像保存为签名。

添加了IFD、Interop和LightSourceExifTages枚举#

IFD 已添加,允许将枚举与 get_ifd() **

from PIL import Image, ExifTags
im = Image.open("Tests/images/flower.jpg")
print(im.getexif().get_ifd(ExifTags.IFD.Exif))

IFD1 也可以与一起使用 get_ifd() ,但不应在其他上下文中使用,因为枚举值仅在内部有意义。

Interop 已为Interop IFD::内的标记添加了

from PIL import Image, ExifTags
im = Image.open("Tests/images/flower.jpg")
interop_ifd = im.getexif().get_ifd(ExifTags.IFD.Interop)
print(interop_ifd.get(ExifTags.Interop.InteropIndex))  # R98

LightSource 已为LightSourceTag::内的值添加

from PIL import Image, ExifTags
im = Image.open("Tests/images/iptc.jpg")
exif_ifd = im.getexif().get_ifd(ExifTags.IFD.Exif)
print(ExifTags.LightSource(exif_ifd[0x9208]))  # LightSource.Unknown

getxmp()#

XMP data 现在可以通过以下方式为WebP图像解码 getxmp()

正在编写JPEG注释#

保存JPEG图像时,现在可以从 info ,或在保存时使用参数::

im.save(out, comment="Test comment")

安全性#

修复ImageFont中的内存DOS#

损坏或巧尽心思构建的TTF字体在以字体呈现文本时,其字体度量可能会导致不合理的大小。 ImageFont.py 在为其分配内存之前未检查图像大小。这可以追溯到皮尔叉。Pillow 8.2.0增加了对大尺寸的检查,但没有考虑一个维度为零的情况。

ImageFont中的空指针取消引用崩溃#

Pillow尝试取消引用中的空指针 ImageFont ,导致了一场撞车。相反,现在会引发错误。从枕头8.0.0开始就存在这一点。

其他变化#

添加了对DDS L和LA图像的支持#

添加了对以未压缩格式读取和写入L和LA DDS图像的支持,这种格式称为“亮度”纹理。

常量#

在Pillow 9.1.0中,以下常量已弃用。这种情况已经逆转,这些常量现在将保持可用。

  • Image.NONE

  • Image.NEAREST

  • Image.ORDERED

  • Image.RASTERIZE

  • Image.FLOYDSTEINBERG

  • Image.WEB

  • Image.ADAPTIVE

  • Image.AFFINE

  • Image.EXTENT

  • Image.PERSPECTIVE

  • Image.QUAD

  • Image.MESH

  • Image.FLIP_LEFT_RIGHT

  • Image.FLIP_TOP_BOTTOM

  • Image.ROTATE_90

  • Image.ROTATE_180

  • Image.ROTATE_270

  • Image.TRANSPOSE

  • Image.TRANSVERSE

  • Image.BOX

  • Image.BILINEAR

  • Image.HAMMING

  • Image.BICUBIC

  • Image.LANCZOS

  • Image.MEDIANCUT

  • Image.MAXCOVERAGE

  • Image.FASTOCTREE

  • Image.LIBIMAGEQUANT