ImageTransform
模块¶
ImageTransform
模块包含一些内置 Image.Transform
方法的 ImageTransformHandler
实现。
- class PIL.ImageTransform.Transform(data: Sequence[Any])[source]¶
-
ImageTransform
中定义的其他变换的基类。
- class PIL.ImageTransform.AffineTransform(data: Sequence[Any])[source]¶
基类:
Transform
定义仿射图像变换。
此函数接受一个 6 元组 (a, b, c, d, e, f),其中包含来自仿射变换矩阵的前两行。对于输出图像中的每个像素 (x, y),新值将从输入图像中的位置 (a x + b y + c, d x + e y + f) 处获取,四舍五入到最接近的像素。
此函数可用于缩放、平移、旋转和剪切原始图像。
- 参数:
matrix – 一个 6 元组 (a, b, c, d, e, f),包含来自仿射变换矩阵的前两行。
- class PIL.ImageTransform.PerspectiveTransform(data: Sequence[Any])[source]¶
基类:
Transform
定义透视图像变换。
此函数接受一个 8 元组 (a, b, c, d, e, f, g, h)。对于输出图像中的每个像素 (x, y),新值将从输入图像中的位置 ((a x + b y + c) / (g x + h y + 1), (d x + e y + f) / (g x + h y + 1)) 处获取,四舍五入到最接近的像素。
此函数可用于缩放、平移、旋转和剪切原始图像。
- 参数:
matrix – 一个 8 元组 (a, b, c, d, e, f, g, h)。
- class PIL.ImageTransform.ExtentTransform(data: Sequence[Any])[source]¶
基类:
Transform
定义一个从图像中提取子区域的转换。
将图像中的矩形(由两个角点定义)映射到给定大小的矩形。生成的图像将包含从两个角点之间采样的数据,使得输入图像中的 (x0, y0) 最终出现在输出图像中的 (0,0) 位置,而 (x1, y1) 则出现在 size 位置。
此方法可用于裁剪、拉伸、缩小或镜像当前图像中的任意矩形。它比裁剪操作略慢,但与相应的调整大小操作一样快。
- 参数:
bbox – 一个 4 元组 (x0, y0, x1, y1),指定输入图像坐标系中的两个点。请参见 坐标系.