10.0.0#
向后不兼容的更改#
类别#
im.category
已删除,以及相关的 Image.NORMAL
, Image.SEQUENCE
和 Image.CONTAINER
属性。
为了确定图像是否具有多个帧, getattr(im, "is_animated", False)
可以改为使用。
Tk/Tcl 8.4#
已移除对Tk/TCL 8.4的支持。
JpegImagePlugin.convert_dict_qtables#
自Pillow 8.3.0中的弃用以来, convert_dict_qtables
方法不再对提供给它的数据执行任何操作,并且已被移除。
ImagePalette大小参数#
在Pillow 8.3.0之前, ImagePalette
默认情况下需要特定长度的调色板数据,而 size
参数可以用来覆盖它。Pillow 8.3.0删除了默认的所需长度,也不再需要 size
参数。
ImageShow.Viewer.show_file文件参数#
这个 file
中的论点 show_file()
已被移除,并被替换为 path
。
实际上, viewer.show_file("test.jpg")
将继续原封不动地工作。
常量#
一些常量已被删除。相反, enum.IntEnum
已经添加了课程。
远离的 |
代替使用 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FitsStubImagePlugin#
存根图像插件 FitsStubImagePlugin
已被移除。无需处理器即可读取FITS图像 FitsImagePlugin
取而代之的是。
字体大小和偏移方法#
删除了几个用于计算呈现文本的大小和偏移量的函数:
远离的 |
代替使用 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
FreeTypeFont.getmask2填充参数#
未登记的人 fill
的参数 FreeTypeFont.getmask2()
已被移除。
PhotoImage.Paste box参数#
这个 box
参数未使用,已被删除。
PyQt5和PySide2#
Qt 5 reached end-of-life 对于开源用户,将于2020-12-08年月到期(对于商业许可证持有者,将于2023-12-08年年达到停产)。
Image.coerce_e#
此未记录的方法已被删除。
废弃#
PyAccess和Image.USE_CFFI_Access#
由于Pillow的C API现在比PyPy上的PyAccess更快, PyAccess
已弃用,将在枕头11.0.0(2024-10-15)中删除。Pillow的C API现在将在PyPy上默认使用。
Image.USE_CFFI_ACCESS
,用于从C API切换到PyAccess,同样不推荐使用。
API更改#
向ImageDraw Regular_Polygon添加了线宽参数#
可选的一行 width
参数已添加到 ImageDraw.Draw.regular_polygon
。
API添加#
增列 alpha_only
参数为 getbbox()
#
getbbox()
现在接受关键字参数 alpha_only
。这是可选标志,默认为 True
。如果 True
并且图像有一个Alpha通道,裁剪透明像素。否则,请在所有通道均为零时裁切像素。
安全性#
限制大小,即使一个维度为零#
在执行解压炸弹检查时,Pillow没有拒绝宽度和高度过大或宽度和高度过高的图像。现在,这一问题已经得到解决。
这实际上可以追溯到PIL叉子,因为在Pillow开始检查减压炸弹之前,问题图像仍然会被处理。
添加ImageFont.MAX_STRING_LENGTH#
当使用任意字符串作为文本输入时,为了防止潜在的DOS攻击,Pillow现在将引发 ValueError
如果传入ImageFont方法的字符数超过特定限制, PIL.ImageFont.MAX_STRING_LENGTH
。
此阈值可通过设置 PIL.ImageFont.MAX_STRING_LENGTH
。可以通过设置来禁用它 ImageFont.MAX_STRING_LENGTH = None
。
其他变化#
32位轮子#
不再提供32位轮子。
支持IPython中的display_jpeg()#
除了……之外 display()
和 display_png
, display_jpeg()
现在还可以用于在IPython::中显示图像
from PIL import Image
from IPython.display import display_jpeg
im = Image.new("RGB", (100, 100), (255, 0, 0))
display_jpeg(im)
支持读取带符号的8位TIFF图像#
现在可以读取具有带符号整数数据、每个样本8位和BlackIsZero光度解释的TIFF图像。