imagecolorat
может только возвратить индекс цвета для единственной точки,
существует ли функция для получения, все раскрашивает изображение?
$im = imagecreatefromgif('php.gif');
$colorCount = imagecolorstotal($im);
$colorSet = array();
for($i=0; $i<$colorCount; ++$i) {
$colorSet[] = imagecolorsforindex($im,$i);
}
Это не очень документировано, но я думаю, вы могли бы использовать метод ImageMagick, описанный здесь: http://fr.php.net/manual/en/function.imagick-getimagehistogram .php