8.0.0#
向后不兼容的更改#
Python 3.5#
Pillow已经放弃了对Python3.5的支持,Python3.5在2020-09-13停止使用。
PyPy 7.1.x#
Pillow已经放弃了对PyPy3 7.1.1的支持。Py3 7.2.0于2019-10-14发布,现在是最低兼容版本。
im.offset#
im.offset() 已被删除,呼叫 ImageChops.offset() 相反。
图像.fromstring, 来自字符串的im以及im.tostring公司#
Image.fromstring()已被删除,呼叫Image.frombytes()相反。im.fromstring()已被删除,呼叫frombytes()相反。im.tostring()已被删除,呼叫tobytes()相反。
imagecms.cmsprofile属性#
中的一些属性 PIL.ImageCms.CmsProfile 已删除:
远离的 |
代替使用 |
|---|---|
|
加垫的 |
|
加垫的 |
|
统一码 |
|
|
|
|
|
统一码 |
|
统一码 |
API更改#
ImageDraw.text:笔划_宽度#
修复了通过以下位置时出现的问题 stroke_width 具有非零值的 ImageDraw.text() 会导致文本偏移该数量。
ImageDraw.text:锚点#
这个 anchor 的参数 ImageDraw.text() 已经实施了。
使用此参数可以更改文本相对于指定的 xy 重点。看见 文本锚点 有关详细信息,请参阅。
向PsdImagePlugin添加MIME类型#
“图像/vnd.adobe.photoshop“现在注册为 PsdImagePlugin.PsdImageFile MIME类型。
API添加#
图像.打开:添加格式参数#
增加了一个新的 formats 参数到 Image.open() :
尝试加载文件的格式列表或元组。这可用于限制选中的格式集。经过
None若要尝试所有支持的格式,请执行以下操作。您可以通过运行以下命令打印可用格式集python3 -m PIL或使用PIL.features.pilinfo()功能。
图像操作自动对比:添加掩码参数#
ImageOps.autocontrast() 现在可以采取 mask 参数:
对比度操作中使用的直方图是使用遮罩内的像素计算的。如果没有给定遮罩,整个图像将用于直方图计算。
图像操作自动对比截止线#
以前, cutoff 参数 ImageOps.autocontrast() 只能是一个数字,用作从直方图的低端和高端截断的百分比。
现在,它也可以是元组 (low, high) .
ImageDraw.regular_polygon#
一种新方法 ImageDraw.regular_polygon() ,绘制的正多边形 n_sides ,刻在 bounding_circle .
例如 draw.regular_polygon(((100, 100), 50), 5) 以该点为中心绘制五角大楼 (100, 100) 多边形半径为 50 .
ImageDraw.text:Embedded_COLOR#
这些方法 ImageDraw.text() 和 ImageDraw.multiline_text() 现在支持嵌入颜色数据的字体。
要使用嵌入的颜色数据呈现文本,请使用参数 embedded_color=True 。
支持CBDT字体需要使用libpng编译的FreeType2.5。支持SBIX字体需要使用libpng编译的FreeType 2.5.1。支持COLR字体需要FreeType 2.10。尚不支持SVG字体。
ImageDraw.textlength#
两种新方法 ImageDraw.textlength() 和 FreeTypeFont.getlength() 被添加,以1/64像素精度返回文本的精确前进长度。
它们可用于文字换行或分部分呈现文本。
ImageDraw.textbbox#
三种新方法 ImageDraw.textbbox() , ImageDraw.multiline_textbbox() ,以及 FreeTypeFont.getbbox() 返回呈现文本的边框。
这些函数接受 anchor 参数,请参见 文本锚点 有关详细信息,请参阅。
其他变化#
一种改进的椭圆绘制算法#
椭圆绘制算法已从绘制360边多边形更改为类似于Bresenham的圆绘制算法。它应该更快,并产生更平滑的曲线,特别是对于较小的椭圆。
ImageDraw.Text和ImageDraw.Multiline_Text#
修复了方法中的多个问题 ImageDraw.text() 和 ImageDraw.multiline_text() 有时会导致意外的文本对齐问题。
这个 align 的参数 ImageDraw.multiline_text() 现在在某些情况下会提供更好的结果。
现在支持嵌入位图的TrueType字体。
添加子IFD的写入#
保存EXIF数据时,Pillow现在可以写入子IFD,例如GPS IFD。当使用打开图像时使用的EXIF数据保存图像时,这应该会自动发生,例如在 exif_transpose() 。
以前,子IFD的第一个标记的代码被错误地写入偏移量。
大型BMP文件出错#
以前,如果BMP文件太大,则会引发 OSError 会被举起。现在, DecompressionBombError 取而代之的是Pillow,因为Pillow已经用于其他格式。
文档的黑色主题#
如果用户要求系统使用黑色主题,则https://pillow.readthedocs.io文档将使用黑色主题。使用 prefers-color-scheme Css媒体查询。