(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagecolorclosestalpha — Retourne la couleur la plus proche, en tenant compte du canal alpha
Description
imagecolorclosestalpha(
GdImage
$image
,
int
$red
,
int
$green
,
int
$blue
,
int
$alpha
): int
Liste de paramètres
-
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.
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.
Exemples
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).
Voir aussi