API更改
图像尺寸
如果您试图直接设置图像的大小,例如 im.size = (100, 100)
,您现在将收到 AttributeError
. 这不是要删除现有的功能,而是要引发一个明确的错误以防止以后的结果。这个 resize
方法是更改图像大小的正确方法。
例外情况如下:
-
ICO和ICN图像格式,使用
im.size = (100, 100)
选择子图像。 -
TIFF图像格式,现在有一个
DeprecationWarning
对于此操作,由于以前需要直接图像大小设置来解决平铺范围的问题。
API添加
向基于矩形和椭圆的形状添加了线条宽度参数
可选行 width
参数已添加到 ImageDraw.Draw.arc
, chord
, ellipse
, pieslice
和 rectangle
.
直线序列的曲线接头
ImageDraw.Draw.line
在点之间绘制一条或多条线。以前,当给出多个点时,对于较大的 width
这些线条之间的接缝看起来很难看。现在有一个附加的可选参数, joint
,默认为 None
. 当设置为 curved
,线条之间的关节将变圆。
ImageOps.colorize
以前 ImageOps.colorize
仅支持双色映射 black
和 white
参数分别映射到0和255。现在它支持三种颜色映射,可选 mid
参数和所有三个颜色参数的位置都可以随意指定( blackpoint
, whitepoint
和 midpoint
)。例如,对于所有可选参数:
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。
讨论区