PHP | Imagick recolorImage() Function

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:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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();
?>

chevron_right


Output:

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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); 
  
$metrix = $im->queryFontMetrics($draw, $string); 
$draw->annotation(0, 40, $string); 
$im->newImage($metrix['textWidth'], $metrix['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(); 
?> 

chevron_right


Output:
recolor

Reference: http://php.net/manual/en/imagick.recolorimage.php



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.