该函数自 PHP 4 版本开始可用。
imagecolorstotal() 函数用于返回给定图像的颜色数量。它适用于使用调色板的图像格式,如 GIF 和 PNG-8 格式。
int imagecolorstotal(resource $image);
返回图像中颜色的数量。如果图像没有颜色或者出错,则返回 0。
以下是使用 imagecolorstotal() 函数的一个简单示例。
<?php // 创建一个 100x100 像素的图像 $image = imagecreatetruecolor(100, 100); <p>// 为图像分配颜色<br> $black = imagecolorallocate($image, 0, 0, 0);<br> $white = imagecolorallocate($image, 255, 255, 255);</p> <p>// 填充图像背景为白色<br> imagefill($image, 0, 0, $white);</p> <p>// 绘制一个黑色的矩形<br> imagerectangle($image, 10, 10, 90, 90, $black);</p> <p>// 获取图像的颜色数量<br> $totalColors = imagecolorstotal($image);</p> <p>// 输出图像颜色数量<br> echo "图像的颜色数量是: " . $totalColors;</p> <p>// 销毁图像资源<br> imagedestroy($image);<br> ?><br>
此示例首先创建一个 100x100 像素的真彩色图像资源,然后为该图像分配黑色和白色。接下来,它填充背景为白色,并绘制一个黑色矩形。最后,使用 imagecolorstotal() 函数获取图像中的颜色数量,并输出该数量。