5.3.0#

API更改#

图像尺寸#

如果您试图直接设置图像的大小,例如 im.size = (100, 100) ,您现在将收到 AttributeError . 这不是要删除现有的功能,而是要引发一个明确的错误以防止以后的结果。这个 resize 方法是更改图像大小的正确方法。

例外情况如下:

  • ICO和ICN图像格式,使用 im.size = (100, 100) 选择子图像。

  • TIFF图像格式,现在有一个 DeprecationWarning 对于此操作,由于以前需要直接图像大小设置来解决平铺范围的问题。

API添加#

向基于矩形和椭圆的形状添加了线条宽度参数#

可选行 width 参数已添加到 ImageDraw.Draw.arcchordellipsepieslicerectangle .

直线序列的曲线接头#

ImageDraw.Draw.line 在点之间绘制一条或多条线。以前,当给出多个点时,对于较大的 width 这些线条之间的接缝看起来很难看。现在有一个附加的可选参数, joint ,默认为 None . 当设置为 curved ,线条之间的关节将变圆。

ImageOps.colorize#

以前 ImageOps.colorize 仅支持双色映射 blackwhite 参数分别映射到0和255。现在它支持三种颜色映射,可选 mid 参数和所有三个颜色参数的位置都可以随意指定( blackpointwhitepointmidpoint )。例如,对于所有可选参数:

ImageOps.colorize(im, black=(32, 37, 79), white='white', mid=(59, 101, 175),
                      blackpoint=15, whitepoint=240, midpoint=100)

ImageOps.pad#

同时 ImageOps.fit 允许用户将图像裁剪到要求的纵横比和大小,新方法 ImageOps.pad 填充图像以填充所需的纵横比和大小,用提供的填充新空间 color 并通过一个 centering 参数。

其他变化#

增加了通过libtiff读取平铺的tiff图像的支持。压缩后的TIFF图像现在可以通过libtiff读取。

rgb webp图像现在被读取为rgb模式,而不是rgbx。