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

Imagick::colorMatrixImage()函数—用法及示例

「 将图像的每个像素应用颜色矩阵转换 」


函数名: Imagick::colorMatrixImage()

适用版本: Imagick 3.4.0

用法: Imagick::colorMatrixImage() 方法用于将图像的每个像素应用颜色矩阵转换。颜色矩阵转换是一种线性变换,通过乘以一个3x3的矩阵来改变像素的颜色值。

语法: public Imagick::colorMatrixImage ( array $matrix )

参数:

  • matrix: 一个包含20个浮点数的一维数组,表示颜色矩阵的值。

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

示例:

// 创建一个 Imagick 对象
$image = new Imagick('image.jpg');

// 定义一个颜色矩阵
$matrix = [
   1.5, 0.5, 0.5, 0, 0,
   0.5, 1.5, 0.5, 0, 0,
   0.5, 0.5, 1.5, 0, 0,
   0,   0,   0,   1, 0,
   0,   0,   0,   0, 1
];

// 应用颜色矩阵转换
$image->colorMatrixImage($matrix);

// 显示或保存结果
$image->setImageFormat('png');
header('Content-type: image/png');
echo $image;

// 释放内存
$image->destroy();

上述示例中,我们首先创建了一个 Imagick 对象,并加载了一张名为 "image.jpg" 的图像。然后,我们定义了一个颜色矩阵,该矩阵将图像的每个像素进行线性变换。最后,我们调用 colorMatrixImage() 方法,将颜色矩阵应用到图像上。最终,我们将结果以 PNG 格式输出到浏览器,并释放了内存。

请注意,颜色矩阵的值会直接影响图像的颜色,所以在使用该方法时需要谨慎选择合适的矩阵值,以达到期望的效果。

补充纠错
上一个函数: Imagick::combineImages()函数
下一个函数: Imagick::colorizeImage()函数
热门PHP函数
分享链接