©
本文档使用
php.cn手册 发布
(No version information available, might only be in Git)
Imagick::colorMatrixImage — Description
$color_matrix
= Imagick::CHANNEL_DEFAULT
)Apply color transformation to an image. The method permits saturation changes, hue rotation, luminance to alpha, and various other effects. Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets). The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255)
color_matrix
Example #1 Imagick::colorMatrixImage()
<?php
function colorMatrixImage ( $imagePath , $colorMatrix ) {
$imagick = new \ Imagick ( realpath ( $imagePath ));
$imagick -> setImageOpacity ( 1 );
//A color matrix should look like:
// $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 ();
}
?>