imagecolorclosest
(PHP 4, PHP 5)
imagecolorclosest — Retourne l'index de la couleur la plus proche d'une couleur donn�e
Description
Retourne l'index de la couleur de la palette qui est la plus proche de la valeur RGB pass�e.
La "distance" entre la couleur souhait�e et les couleurs de la palette est calcul�e en consid�rant l'espace RGB comme un espace � 3 dimensions.
Si vous cr�ez l'image depuis un fichier, seules les couleurs utilis�es dans l'image seront r�solues. Les couleurs uniquement pr�sentes dans la palette ne seront pas r�solues.
Liste de param�tres
- image
-
Une ressource d'image, retourn� par une des fonctions de cr�ation d'images, comme imagecreatetruecolor().
- red
-
Valeur du composant rouge.
- green
-
Valeur du composant vert.
- blue
-
Valeur du composant bleu.
Les param�tres sur les couleurs sont des entiers compris entre 0 et 255 ou des hexad�cimaux compris entre 0x00 et 0xFF.
Valeurs de retour
Retourne l'index de la couleur la plus proche, dans la palette de l'image, de celle donn�e.
Exemples
Exemple #1 Recherche d'un jeu de couleur dans une image
<?php
// On commence avec une image et on la convertie en une palette de couleurs
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// Couleurs recherch�es (RVB)
$colors = array(
array(254, 145, 154),
array(153, 145, 188),
array(153, 90, 145),
array(255, 137, 92)
);
// On boucle sur chaque recherche et on trouve la couleur de la palette la plus proche.
// Retourne le num�ro de la recherche, le RVB cherch� et la correspondance en RVB
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: Recherche ($rgb[0], $rgb[1], $rgb[2]); Correspondance : $result.\n";
}
imagedestroy($im);
?>
L'exemple ci-dessus va afficher quelque chose de similaire � :
#0: Recherche (254, 145, 154); Correspondance : (252, 150, 148). #1: Recherche (153, 145, 188); Correspondance : (148, 150, 196). #2: Recherche (153, 90, 145); Correspondance : (148, 90, 156). #3: Recherche (255, 137, 92); Correspondance : (252, 150, 92).
Voir aussi
- imagecolorexact() - Retourne l'index de la couleur donn�e
- imagecolorclosestalpha() - Retourne la couleur la plus proche, en tenant compte du canal alpha
- imagecolorclosesthwb() - Lit l'index de la couleur sp�cifi�e avec sa teinte, blanc et noir