The Gmagick::quantizeimage() function is an inbuilt function in PHP which is used to analyze the colors within a reference image and chooses a fixed number of colors to represent the image. The main reason of this function is to minimize the color difference between the input and output image while minimizing the processing time.
Syntax:
Gmagick Gmagick::quantizeimage( int $numColors, int $colorspace, int $treeDepth, bool $dither, bool $measureError )
Parameters: This function accept five parameters as mentioned above and described below:
- $numColors: It specifies the number of the colors.
- $colorspace: It specifies the colorspace.
- $treeDepth: It specifies the depth of tree.
- $dither: It specifies whether to allow dither or not.
- $measureError: It specifies whether to measure the image differences error on not.
Return Value: This function returns the Gmagick object on success.
Exceptions: This function throws GmagickException on error.
Below given programs illustrate the Gmagick::quantizeimage() function in PHP:
Used Image:
Program 1 (Quantize a image):
<?php // Create a new Gmagick object $gmagick = new Gmagick( 'neveropen.png' ); // Quantize the image $gmagick ->quantizeimage(100, 8, 256, true, false); // Output the image header( 'Content-type: image/png' ); echo $gmagick ; ?> |
Output:
Program 2 (Quantize a drawing):
<?php // Create a new Gmagick object $gmagick = new Gmagick( 'neveropen.png' ); // Create a GmagickDraw object $draw = new GmagickDraw(); // Set the color $draw ->setFillColor( 'red' ); // Function to draw rectangle $draw ->rectangle(0, 0, 800, 400); // Set the fill color $draw ->setFillColor( 'white' ); // Set the font size $draw ->setfontsize(50); // Annotate a text $draw ->annotate(30, 100, 'neveropen' ); // Use of drawimage function $gmagick ->drawImage( $draw ); // Quantize the image $gmagick ->quantizeimage(10, 8, 996, true, false); // Output the image header( 'Content-type: image/png' ); echo $gmagick ; ?> |
Output:
Reference: https://www.php.net/manual/en/gmagick.quantizeimage.php