imagecolorclosest

(PHP 4, PHP 5)

imagecolorclosestRetourne l'index de la couleur la plus proche d'une couleur donn�e

Description

int imagecolorclosest ( resource $image , int $red , int $green , int $blue )

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($imfalse255);

// Couleurs recherch�es (RVB)
$colors = array(
    array(
254145154),
    array(
153145188),
    array(
15390145),
    array(
25513792)
);

// 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