(PHP 4 >= 4.0.6, PHP 5, PHP 7)
imagecolorclosestalpha — Retourne la couleur la plus proche, en tenant compte du canal alpha
$image
, int $red
, int $green
, int $blue
, int $alpha
)
Retourne l'index de la couleur, dans la palette de l'image image
,
la plus proche de la couleur spécifiée par les autres paramètres,
au format RGB et de canal alpha
alpha
.
image
Une ressource d'image, retournée 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.
alpha
Une valeur comprise entre 0 et 127. 0 indique une opacité complète tandis que 127 indique une transparence complète.
Retourne l'index de la couleur la plus proche dans la palette.
Exemple #1 Cherche un jeu de couleurs dans une image
<?php
// On commence avec une image et on la convertie en palette
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// Recherche des couleurs (RVB)
$colors = array(
array(254, 145, 154, 50),
array(153, 145, 188, 127),
array(153, 90, 145, 0),
array(255, 137, 92, 84)
);
// On boucle sur chaque recherche et on trouve la couleur la plus proche de la palette.
// Retourne le numéro de la recherche, la recherche RVB et le résultat converti en RVB
foreach($colors as $id => $rgb)
{
$result = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
$result = imagecolorsforindex($im, $result);
$result = "({$result['red']}, {$result['green']}, {$result['blue']}, {$result['alpha']})";
echo "#$id: Recherche ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); Résultat le plus proche : $result.\n";
}
imagedestroy($im);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
#0: Recherche (254, 145, 154, 50); Résultat le plus proche : (252, 150, 148, 0). #1: Recherche (153, 145, 188, 127); Résultat le plus proche : (148, 150, 196, 0). #2: Recherche (153, 90, 145, 0); Résultat le plus proche : (148, 90, 156, 0). #3: Recherche (255, 137, 92, 84); Résultat le plus proche : (252, 150, 92, 0).