向后不兼容的更改
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媒体查询。
讨论区