ImagePath 模块#
这个 ImagePath 模块用于存储和操作二维矢量数据。路径对象可以传递到 ImageDraw 模块。
- class PIL.ImagePath.Path#
- 路径对象。坐标列表可以是包含2个元组[(x,y),…]或数值[x,y,…]的任何序列对象。 - 还可以从另一个路径对象创建路径对象。 - 在1.1.6和更高版本中,您还可以传入实现Python缓冲区API的任何对象。缓冲区应该提供读访问,并且包含以机器字节顺序排列的C浮动。 - path对象实现了Python序列接口的大多数部分,其行为类似于(x,y)对的列表。您可以像往常一样使用len()、项访问和切片。但是,当前版本不支持切片分配或项和切片删除。 - 参数:
- xy -- 一个序列序列可以包含两个元组[(x,y),…]或一个简单的数字列表[x,y,…]。 
 
- PIL.ImagePath.Path.compact(distance=2)#
- 通过删除彼此靠近的点来压缩路径。此方法在适当的位置修改路径,并返回路径中剩余的点数。 - distance测量为 Manhattan 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、 是的。。。] 相反。
- 返回:
- 坐标列表。见 - 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