(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagecolorclosestalpha — Retourne la couleur la plus proche, en tenant compte du canal 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
Un objet GdImage, 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);
?>
Résultat de l'exemple ci-dessus est 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).