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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。