PHP |想象一下 colorMatrixImage()函数
Imagick::colorMatrixImage()函数是PHP中的一个内置函数,用于对图像应用颜色变换。此函数会引起饱和度变化、色调旋转、亮度到 alpha 以及各种其他效果。此函数使用可变大小的变换矩阵,即RGBA的5×5矩阵和CMYKA的6×6矩阵。
句法:
bool Imagick::colorMatrixImage( array $color_matrix = Imagick::CHANNEL_DEFAULT )
参数:此函数接受单个参数$color_matrix ,该参数用于保存 RGBA 的 5×5 矩阵,行表示红色、绿色、蓝色、alpha 输出,列表示红色、绿色、蓝色、alpha 输入,而最后一行和亮度调节栏。在 CMYKA 的 6×6 矩阵中,行表示青色、品红色、黄色、Key 或黑色,alpha 输出,列表示 Cyan、Magenta、Yellow、Key 或黑色、alpha 输入,而 alpha 用于亮度调整与 RGBA 类似, CMYKA 也有最后一行和最后一列用于亮度调整。
返回值:该函数成功返回True,失败返回False。
下面的程序说明了PHP中的 Imagick::colorMatrixImage()函数:
程序:
evaluateImage(
Imagick::EVALUATE_MULTIPLY,
0.6,
Imagick::CHANNEL_ALPHA
);
// Create new Imagick object
$background = new \Imagick();
// Creating new pseudo image with hexagon pattern
$background->newPseudoImage(
$imagick->getImageWidth(),
$imagick->getImageHeight(),
"pattern:hexagons"
);
// Set the image format
$background->setImageFormat('png');
$imagick->setImageFormat('png');
// Use Imagick::colorMatrixImage() function
$imagick->colorMatrixImage($colorMatrix);
// Use Imagick::compositeImage() function
$background->compositeImage(
$imagick,
\Imagick::COMPOSITE_SRCATOP,
0,
0
);
header("Content-Type: image/png");
// Display the output image
echo $background->getImageBlob();
?>
输出:
参考: https://www. PHP.net/manual/en/imagick.colormatriximage。 PHP