(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.
imageUne ressource d'image, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().
redValeur du composant rouge.
greenValeur du composant vert.
blueValeur du composant bleu.
alphaUne 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).