<?php
// Konvertiere zunächst ein Bild in ein palettenbasiertes Bild
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// Gesuchte Farben (RGB)
$colors = array(
array(254, 145, 154),
array(153, 145, 188),
array(153, 90, 145),
array(255, 137, 92)
);
// Durchlaufe die gesuchten Farben und finde die nächstgelegene Farbe in der Palette.
// Gib die Suchnummer, die gesuchten und die gefundenen RGB-Farben zurück.
foreach($colors as $id => $rgb)
{
$result = imagecolorclosest($im, $rgb[0], $rgb[1], $rgb[2]);
$result = imagecolorsforindex($im, $result);
$result = "({$result['red']}, {$result['green']}, {$result['blue']})";
echo "#$id: Gesuchte Farbe ($rgb[0], $rgb[1], $rgb[2]); Nächstgelegene Farbe: $result.\n";
}
?>
Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:
#0: Gesuchte Farbe (254, 145, 154); Nächstgelegene Farbe: (252, 150, 148).
#1: Gesuchte Farbe (153, 145, 188); Nächstgelegene Farbe: (148, 150, 196).
#2: Gesuchte Farbe (153, 90, 145); Nächstgelegene Farbe: (148, 90, 156).
#3: Gesuchte Farbe (255, 137, 92); Nächstgelegene Farbe: (252, 150, 92).