imagecolorstotal() function in PHP

The imagecolorstotal() function returns the number of colors in an image's palette. This function only works with palette−based images (like GIF or PNG with limited colors), not true color images.

Syntax

imagecolorstotal($image)

Parameters

  • $image − An image resource created by one of the image creation functions like imagecreatefromgif() or imagecreatefrompng().

Return Value

Returns the number of colors in the image's palette as an integer. For true color images, it returns 0.

Example 1: Counting Colors in a Palette Image

The following example demonstrates how to count colors in a created palette−based image ?

<?php
    // Create a palette-based image
    $img = imagecreate(100, 100);
    
    // Allocate some colors
    $white = imagecolorallocate($img, 255, 255, 255);
    $red = imagecolorallocate($img, 255, 0, 0);
    $green = imagecolorallocate($img, 0, 255, 0);
    $blue = imagecolorallocate($img, 0, 0, 255);
    
    // Count the colors in the palette
    $colorCount = imagecolorstotal($img);
    echo 'Number of Colors in palette image: ' . $colorCount . "<br>";
    
    // Clean up memory
    imagedestroy($img);
?>
Number of Colors in palette image: 4

Example 2: True Color vs Palette Image

This example shows the difference between true color and palette−based images ?

<?php
    // Create a true color image
    $trueColorImg = imagecreatetruecolor(100, 100);
    $trueColorCount = imagecolorstotal($trueColorImg);
    echo 'True color image colors: ' . $trueColorCount . "<br>";
    
    // Create a palette-based image
    $paletteImg = imagecreate(100, 100);
    imagecolorallocate($paletteImg, 255, 255, 255); // White
    imagecolorallocate($paletteImg, 0, 0, 0);       // Black
    $paletteColorCount = imagecolorstotal($paletteImg);
    echo 'Palette image colors: ' . $paletteColorCount . "<br>";
    
    // Clean up
    imagedestroy($trueColorImg);
    imagedestroy($paletteImg);
?>
True color image colors: 0
Palette image colors: 2

Key Points

  • Only works with palette−based images (GIF, PNG with limited colors)

  • Returns 0 for true color images created with imagecreatetruecolor()

  • Maximum palette size is typically 256 colors

  • Use imagecreate() to create palette−based images

Conclusion

The imagecolorstotal() function is useful for determining the color complexity of palette−based images. It returns 0 for true color images since they don't use a fixed palette.

Updated on: 2026-03-15T08:09:46+05:30

109 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements