当前位置: 首页> 函数类别大全> imageaffine

imageaffine

使用可选的剪切区域返回包含仿射变换的src图像的图像
名称:imageaffine
分类:图像处理GD
所属语言:php
一句话介绍:使用可选的剪切区域返回包含仿射变换的src图像的图像

imageaffine 函数

适用PHP版本

PHP 5.5.0 及以上版本。

函数说明

imageaffine() 函数用于应用仿射变换到给定的图像资源。仿射变换是一种线性变换,通过矩阵操作对图像进行旋转、缩放、平移等变换。

函数语法

imageaffine(resource $image, array $affine, int $color = 0): bool

参数

  • $image (必需):图像资源,通过如 imagecreatefromjpeg() 等函数创建的图像。
  • $affine (必需):一个关联数组,定义了仿射变换矩阵及其应用的参数。该数组包含以下键:
    • a (必需):矩阵的第一个值。
    • b (必需):矩阵的第二个值。
    • c (必需):矩阵的第三个值。
    • d (必需):矩阵的第四个值。
    • e (必需):矩阵的第五个值。
    • f (必需):矩阵的第六个值。
  • $color (可选):指定在变换过程中替换透明区域的颜色。默认为 0。

返回值

成功时返回 true,失败时返回 false。

示例

以下是使用 imageaffine() 函数进行仿射变换的示例:

示例代码的说明

这个例子展示了如何使用 imageaffine() 将一个图像旋转 45 度并进行缩放。

<?php
// 创建一个图像资源
$image = imagecreatefromjpeg('path_to_image.jpg');

// 定义仿射变换矩阵
$affine = [
    'a' => 0.707, // 缩放和旋转因子
    'b' => 0.707,
    'c' => -0.707,
    'd' => 0.707,
    'e' => 0,
    'f' => 0
];

// 应用仿射变换
$result = imageaffine($image, $affine);

// 检查是否成功
if ($result) {
    echo "仿射变换成功!";
} else {
    echo "仿射变换失败!";
}

// 输出图像
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>

这段代码首先从指定的路径加载一个图像文件,然后定义一个仿射变换矩阵,将图像旋转 45 度并进行缩放。使用 imageaffine() 函数将变换应用到图像,最后输出处理后的图像。

同类函数
热门文章