Open In App

PHP | ImagickPixel getColorCount() function

Improve
Improve
Like Article
Like
Save
Share
Report

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



Last Updated : 31 Dec, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads