Imagick::colorMatrixImage()函数是PHP中的内置函数,用于对图像进行颜色转换。此函数引起饱和度变化,色相旋转,亮度达到alpha以及其他各种效果。此函数使用variable-size转换矩阵,即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矩阵中,行表示青色,品红色,黄色,关键或黑色的alpha输出,列为青色,品红色,黄色,关键或黑色的alpha输入,而用于亮度调整的alpha在RGBA中类似, CMYKA还具有用于调整亮度的最后一行和最后一列。
返回值:此函数成功时返回True,失败时返回False。
以下示例程序旨在说明PHP中的Imagick::colorMatrixImage()函数:
程序:
<?php
// 6x6 color matrix for CMYKA
$colorMatrix = [
1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
0.0, 0.0, 0.5, 0.0, 0.0, -0.157,
0.0, 0.0, 0.0, 0.0, 0.5, -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.5, 0.0, 1.0
];
// Create Imagick object
$imagick = new \Imagick(
'https://cdncontribute.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png');
// Set image opacity
$imagick->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
相关用法
- PHP Imagick distortImage()用法及代码示例
- PHP Imagick readImage()用法及代码示例
- PHP Imagick readImageFile()用法及代码示例
- PHP Imagick getCopyright()用法及代码示例
- PHP Imagick extentImage()用法及代码示例
- PHP Imagick remapImage()用法及代码示例
- PHP Imagick separateImageChannel()用法及代码示例
- PHP Imagick sepiaToneImage()用法及代码示例
- PHP Imagick convolveImage()用法及代码示例
- PHP Imagick readImages()用法及代码示例
- PHP Imagick despeckleImage()用法及代码示例
- PHP Imagick polaroidImage()用法及代码示例
- PHP Imagick enhanceImage()用法及代码示例
- PHP Imagick encipherImage()用法及代码示例
- PHP Imagick embossImage()用法及代码示例
注:本文由纯净天空筛选整理自VigneshKannan3大神的英文原创作品 PHP | Imagick colorMatrixImage() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。