函数名:Imagick::affineTransformImage()
适用版本:PHP 5 >= 5.5.0, PECL imagick >= 3.3.0
用法: Imagick::affineTransformImage ( array $matrix ) : bool
该函数用于通过一个仿射变换矩阵来对图像进行变换。它将当前的图像对象应用于给定的仿射变换矩阵,并返回一个布尔值表示操作是否成功。
参数:
- matrix:一个包含6个浮点数的数组,表示仿射变换矩阵。矩阵的顺序为 [a, b, c, d, e, f],其中 a、b、c、d 是缩放、旋转和倾斜的系数,e、f 是平移的距离。
返回值: 如果操作成功,则返回 true。如果发生错误,则返回 false。
示例:
// 创建一个Imagick对象并加载图像
$image = new Imagick();
$image->readImage('input.jpg');
// 定义一个仿射变换矩阵
$matrix = [1, 0.2, 0, 1, 50, 50];
// 应用仿射变换矩阵到图像
$result = $image->affineTransformImage($matrix);
if ($result) {
echo "图像变换成功!";
} else {
echo "图像变换失败!";
}
// 保存变换后的图像
$image->writeImage('output.jpg');
上述示例中,我们首先创建一个 Imagick 对象并加载一张图像。然后定义一个仿射变换矩阵,将图像按照指定的变换方式进行变换。最后,我们通过调用 affineTransformImage()
方法将变换应用到图像上,并根据返回值判断操作是否成功。如果成功,输出"图像变换成功!",否则输出"图像变换失败!"。最后,我们将变换后的图像保存到文件中。