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
<?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
<?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