PHP Conference Japan 2024

Imagick::colorMatrixImage

(PECL imagick 3 >= 3.3.0)

Imagick::colorMatrixImage将颜色转换应用于图像

描述

public Imagick::colorMatrixImage(数组 $color_matrix = Imagick::CHANNEL_DEFAULT): 布尔值

将颜色转换应用于图像。此方法允许饱和度变化、色相旋转、亮度到alpha以及各种其他效果。虽然可以使用可变大小的变换矩阵,但通常情况下,对于RGBA图像使用5x5矩阵,对于CMYKA(或带偏移量的RGBA)使用6x6矩阵。该矩阵类似于Adobe Flash使用的矩阵,只是偏移量在第6列而不是第5列(支持CMYKA图像),并且偏移量已标准化(将Flash偏移量除以255)

参数

color_matrix

返回值

成功时返回 true

示例

示例 #1 Imagick::colorMatrixImage()

<?php
function colorMatrixImage($imagePath, $colorMatrix) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageOpacity(1);

// 颜色矩阵应如下所示:
// $colorMatrix = [
// 1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
// 0.0, 1.0, 0.5, 0.0, 0.0, -0.157,
// 0.0, 0.0, 1.5, 0.0, 0.0, -0.157,
// 0.0, 0.0, 0.0, 1.0, 0.0, 0.0,
// 0.0, 0.0, 0.0, 0.0, 1.0, 0.0,
// 0.0, 0.0, 0.0, 0.0, 0.0, 1.0
// ];

$background = new \Imagick();
$background->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(), "pattern:checkerboard");

$background->setImageFormat('png');

$imagick->setImageFormat('png');
$imagick->colorMatrixImage($colorMatrix);

$background->compositeImage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0);

header("Content-Type: image/png");
echo
$background->getImageBlob();
}

?>

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top