3.1.0#

ImageDraw Arc、Chord和Pislice现在可以使用浮动#

不再需要确保 arcchordpieslice 是整数。

请注意,这些数字不是简单的内部四舍五入,而是实际用于绘图过程中。

一致的多行文字间距#

当使用 ImageDraw 多行方法,行间距不一致,基于上下组合。

这一点现在已经被修正了,所以行被它们的基线所偏移,而不是每行的绝对高度。

现在行距默认为4px。

exif、jpeg和tiff元数据#

Pillow3.0的tiff imagefiledirectory支持发生了重大变化,导致了一些回归。其中一部分固定在Pillow3.1上,另一部分延伸到不同的行为。

TiffImagePlugin.IFDRational#

Pillow3.0更改了Rational元数据以使用浮动。在Pillow3.1中,这一点已经改变,允许0/0的表达式作为一个有效的Rational元数据来反映在野外的使用。

Rational元数据现在封装在 IFDRational 实例。此类将Rational类扩展为允许分母为0。它作为浮点或数字进行比较,但允许通过属性访问原始分子和分母值。

当用于 ImageFileDirectory_v1 ,将返回分子和分母的两项元组,如前所述。

当向ImageFileDirectory添加Rational值以保存到图像元数据时,应使用此类。

JpegImagePlugin._getexif#

在《 Pillow 3.0》中,字典是从私人返回的,实验性的,但普遍使用。 _getexif 函数已更改以反映imagefiledirectory_v2格式,但没有回退到以前的格式。

在 Pillow 3.1中, _getexif 现在返回一本与 Pillow 2.9及更早版本兼容的字典 ImageFileDirectory_v1 实例。此外,任何单个项元组都已展开并返回一个空元素。

Pillow3.0返回的格式已被放弃。在未来的版本中,预期将出现一个更为全面的exif接口。

超出规格的元数据#

在Pillow3.0和3.1中,包含内部一致但不符合TIFF规范的元数据的图像在读取元数据时可能会导致异常。当指定具有单个值的标记与值数组一起存储时,可能会发生这种情况。

预计这种行为将在未来的版本中发生变化。