Skip to content
Related Articles

Related Articles

Improve Article
PHP | ImagickPixel getColorCount() function
  • Last Updated : 31 Dec, 2019

The ImagickPixel::getColorCount() function is an inbuilt function in PHP which is used to get the color count associated with the pixel color. A color count is the number of pixels in the image that have the same color as this ImagickPixel. getColorCount() appears to only work for ImagickPixel objects created through getImageHistogram().

Syntax:

int ImagickPixel::getColorCount( void ) : int

Parameters: This function doesn’t accepts any parameter.

Return Value: This function returns an integer containing the color count.

Exceptions: This function throws ImagickException on error.



Below given programs illustrate the ImagickPixel::getColorCount() function in PHP:
Program 1:




<?php
// Create a new imagick object
$imagick = new Imagick(
  
// Get the image histogram
$histogramElements = $imagick->getImageHistogram();
  
// Get the last index
$lastIndex = count($histogramElements) - 1;
  
// Get the element from array which is 
// a ImagickPixel object
$lastColor = $histogramElements[$lastIndex];
  
// Get the Color count
echo $lastColor->getColorCount();
?>

Output:

18

Program 2:




<?php
// Create a new imagick object
$imagick = new Imagick(
  
// Get the image histogram
$histogramElements = $imagick->getImageHistogram();
  
// Get the element from array which is 
// a ImagickPixel object
$lastColor = $histogramElements[0];
  
// Get the Color count
echo $lastColor->getColorCount();
?>

Output:

1

Program 3:




<?php
// Create a new imagick object
$imagick = new Imagick(
  
// Get the image histogram
$histogramElements = $imagick->getImageHistogram();
  
// Get the element from array which is 
// a ImagickPixel object
$firstColor = $histogramElements[0];
  
// Set the Color count
$firstColor->setColorCount(20);
  
// Get the Color count
echo $firstColor->getColorCount();
?>

Output:

20

Program 3:




<?php
// Create a new imagick object
$imagick = new Imagick(
  
// Get the image histogram
$histogramElements = $imagick->getImageHistogram();
  
// Get the whole color stats
echo "R G B Hue :Count<br>";
foreach ($histogramElements as $pixel) {
    $colors = $pixel->getColor();
    foreach ($colors as $color) {
        print($color . " ");
    }
    print(":" . $pixel->getColorCount() . "<br>");
}
?>

Output:

R G B Hue :Count
0 22 35 1 :1
0 25 37 1 :1
0 24 37 1 :1
0 31 43 1 :1
0 32 44 1 :1
0 33 45 1 :1
0 37 49 1 :3
.
.
.

Reference: https://www.php.net/manual/en/imagickpixel.getcolorcount.php




My Personal Notes arrow_drop_up
Recommended Articles
Page :