English | 简体中文 | 繁體中文
查询

imageaffine()函数—用法及示例

「 对图像进行仿射变换 」


函数名:imageaffine()

适用版本:PHP 7.2.0 及以上版本

用法:imageaffine() 函数用于对图像进行仿射变换。仿射变换是一种线性变换,可以通过平移、缩放、旋转、剪切等操作对图像进行变换。

语法:bool imageaffine(resource $image, array $affine, array $clip = null)

参数:

  • $image:原始图像资源,使用 imagecreatefromjpeg()、imagecreatefrompng() 等函数创建;
  • $affine:一个包含仿射变换系数的数组,包括 6 个元素,分别代表水平缩放、水平倾斜、水平平移、垂直倾斜、垂直缩放和垂直平移;
  • $clip:一个可选的数组,用于指定裁剪区域的边界,包括左上角和右下角的坐标。

返回值:如果成功则返回 true,否则返回 false。

示例:

// 创建一个图像资源
$image = imagecreatefromjpeg('original.jpg');

// 定义仿射变换系数
$affine = array(
    1, 0.2, 50,   // 水平缩放、水平倾斜、水平平移
    -0.2, 1, 100   // 垂直倾斜、垂直缩放、垂直平移
);

// 对图像进行仿射变换
if (imageaffine($image, $affine)) {
    // 保存变换后的图像
    imagejpeg($image, 'transformed.jpg');
    imagedestroy($image);
    echo "图像变换成功!";
} else {
    echo "图像变换失败!";
}

注意事项:

  • 该函数需要 GD 扩展的支持,因此需要在 PHP 编译时启用 GD 扩展;
  • 仿射变换的系数可以根据需求进行调整,以达到不同的变换效果;
  • 裁剪区域的边界参数可选,如果不指定则不进行裁剪操作。
补充纠错
上一个函数: imageaffinematrixconcat()函数
下一个函数: image2wbmp()函数
热门PHP函数
分享链接