English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel PHP de base

Tutoriel PHP avancé

PHP & MySQL

Manuel de référence PHP

PHP imagecolorclosestalpha() Obtient l'index de la couleur la plus proche de la couleur spécifiée avec une transparence

Traitement des images PHP

imagecolorclosestalpha — Obtient l'index de la couleur la plus proche de la couleur spécifiée avec une transparence.

Syntaxe

int imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )

Retourne la couleur la plus 'proche' dans le palette d'images correspondant à la valeur RGB spécifiée et à la profondeur alpha.

paramètres

  • imageL'image ressource renvoyée par la fonction de création d'image (par exemple imagecreatetruecolor()).

  • redred

  • valeur de la composante rouge.green

  • valeur de la composante verte.blue

  • valeur de la composante bleue.alpha 127 entre127 représentant une transparence complète.

Les paramètres de couleur sont des valeurs entre 255 entre 0x00 et 0xFF, ou un nombre hexadécimal entre 0x00 et 0xFF.

Retourne une valeur entière entre

Retourner l'index de la couleur la plus proche dans la palette

Exemples

Recherche d'un ensemble de couleurs dans une image.

<?php
// Commencer à partir d'une image et la convertir en une image basée sur la palette
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// Recherche de couleur (RGB)
$colors = array(
    array(254, 145, 154, 50),
    array(153, 145, 188, 127),
    array(153, 90, 145, 0),
    array(255, 137, 92, 84)
);
// Parcourir en boucle pour trouver la couleur la plus proche dans la palette
// Retourner le nombre de recherches, les RGB recherchés et les correspondances les plus proches
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); Correspondance la plus proche : $result。\n";
}
imagedestroy($im);
?>

Les sorties des exemples ci-dessus sont similaires à :

#0 : Recherche (254, 145, 154, 50); Correspondance la plus proche : (252, 150, 148, 0)。
#1: Recherche (153, 145, 188, 127); Correspondance la plus proche : (148, 150, 196, 0)。
#2: Recherche (153, 90, 145, 0); Correspondance la plus proche : (148, 90, 156, 0)。
#3: Recherche (255, 137, 92, 84); Correspondance la plus proche : (252, 150, 92, 0)。

Articles associés

Traitement des images PHP