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 imageecho $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

