<?php
// Comenzar con una imagen y convertirla a una imagen basada en paleta de colores
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// Buscar colores (RGB)
$colores = array(
array(254, 145, 154),
array(153, 145, 188),
array(153, 90, 145),
array(255, 137, 92)
);
// Itera cada búsqueda y encuentra el color más próximo en la paleta.
// Devuelve el número de búsqueda, el RGB de búsqueda y la coincidencia RGB convertida
foreach($colores as $id => $rgb)
{
$resultado = imagecolorclosest($im, $rgb[0], $rgb[1], $rgb[2]);
$resultado = imagecolorsforindex($im, $resultado);
$resultado = "({$resultado['red']}, {$resultado['green']}, {$resultado['blue']})";
echo "#$id: Búsqueda ($rgb[0], $rgb[1], $rgb[2]); Coincidencia más próxima: $resultado.\n";
}
imagedestroy($im);
?>
El resultado del ejemplo
sería algo similar a:
#0: Búsqueda (254, 145, 154); Coincidencia más próxima: (252, 150, 148).
#1: Búsqueda (153, 145, 188); Coincidencia más próxima: (148, 150, 196).
#2: Búsqueda (153, 90, 145); Coincidencia más próxima: (148, 90, 156).
#3: Búsqueda (255, 137, 92); Coincidencia más próxima: (252, 150, 92).