The Imagick::recolorImage() function is an inbuilt function in PHP which is used to translate, scale, shear, or rotate image colors. This function is used as the matrix size variable. Normally 5×5 matrix is used for RGBA and 6×6 is used for CMYK.
Syntax:
bool Imagick::recolorImage( $matrix )
Parameters: This function accepts single parameter $matrix which is used to store the value of the color matrix.
Return Value: This function returns True on success.
Original Image:
Below program illustrate Imagick::recolorImage() function in PHP:
Program 1:
<?php // Create new Imagick object $imagick = new \Imagick(
// Color Matrix $remapColor = [ 1, 0, 0,
0, 0, 1,
0, 1, 0, ];
// Recolor the Image $imagick ->recolorImage( $remapColor );
header("Content-Type: image/jpg"); // Display the image echo $imagick ->getImageBlob();
?> |
Output:
Program 2:
<?php $string = "Computer Science portal for Geeks!";
// Creating new image of above String // and add color and background $im = new Imagick();
$draw = new ImagickDraw();
// Fill the color in image $draw ->setFillColor( new ImagickPixel( 'green' ));
// Set the text font size $draw ->setFontSize(50);
$matrix = $im ->queryFontMetrics( $draw , $string );
$draw ->annotation(0, 40, $string );
$im ->newImage( $matrix [ 'textWidth' ], $matrix [ 'textHeight' ],
new ImagickPixel( 'white' ));
// Draw the image $im ->drawImage( $draw );
// Recolor the Image $remapColor = [ 1, 300, 70,
10, 0, 40,
10, 10, 0, ];
$im ->recolorImage( $remapColor );
$im ->setImageFormat( 'jpeg' );
header("Content-Type: image/jpg"); // Display the output image echo $im ->getImageBlob();
?> |
Output:
Reference: http://php.net/manual/en/imagick.recolorimage.php