ImagePath
模块¶
The ImagePath
模块用于存储和操作二维矢量数据。路径对象可以传递给 ImageDraw
模块上的方法。
- class PIL.ImagePath.Path¶
一个路径对象。坐标列表可以是任何包含 2 元组 [(x, y), …] 或数字值 [x, y, …] 的序列对象。
您还可以从另一个路径对象创建路径对象。
在 1.1.6 及更高版本中,您还可以传入任何实现了 Python 的缓冲区 API 的对象。缓冲区应提供读访问权限,并包含机器字节顺序的 C 浮点数。
路径对象实现了 Python 序列接口的大部分,并且表现得像一个 (x, y) 对列表。您可以照常使用 len()、项访问和切片。但是,这不支持切片赋值,也不支持项和切片删除。
- 参数:
xy – 一个序列。序列可以包含 2 元组 [(x, y), …] 或一个数字的扁平列表 [x, y, …]。
- PIL.ImagePath.Path.compact(distance=2)¶
通过删除彼此靠近的点来压缩路径。此方法会就地修改路径,并返回路径中剩余的点数。
distance
测量为 曼哈顿距离,默认值为两个像素。
- PIL.ImagePath.Path.getbbox()¶
获取路径的边界框。
- 返回值:
(x0, y0, x1, y1)
- PIL.ImagePath.Path.map(function)¶
将路径映射到函数。
- PIL.ImagePath.Path.tolist(flat=False)¶
将路径转换为 Python 列表 [(x, y), …]。
- 参数:
flat – 默认情况下,此函数返回一个 2 元组列表 [(x, y), …]。如果此参数为
True
,它会改为返回一个扁平列表 [x, y, …]。- 返回值:
一个坐标列表。参见
flat
。
- PIL.ImagePath.Path.transform(matrix)¶
使用仿射变换就地转换路径。矩阵是一个 6 元组 (a, b, c, d, e, f),每个点映射如下
xOut = xIn * a + yIn * b + c yOut = xIn * d + yIn * e + f