ImageColorClosest () est une fonction très pratique lors du traitement des images en PHP, en particulier lors du traitement des images et de la correspondance. La fonction de cette fonction est de renvoyer l'index de couleur dans l'image qui est la plus proche de la couleur spécifiée. Ceci est très utile lorsque vous travaillez avec des images de palette, telles que des images créées avec ImageCreate () .
int imagecolorclosest(GdImage $image, int $red, int $green, int $blue)
$ Image : une ressource d'image créée à l'aide d'imageRereate () ou d'imageCreateFrom * () .
$ rouge : ingrédient rouge (0-255).
$ vert : ingrédients verts (0-255).
$ bleu : ingrédient bleu (0-255).
La fonction renvoie la valeur d'index de la couleur de la palette la plus proche de la valeur RVB donnée.
Cette fonction est très adaptée lorsque vous avez affaire à une image de type palette et que vous souhaitez trouver une couleur qui existe déjà dans l'image au lieu d'en créer une nouvelle. Il évite le nombre de couleurs dépassant les limites de la palette (généralement 256).
Voici un exemple complet d'utilisation:
<?php
// Créer une image de palette
$image = imagecreate(100, 100);
// Ajouter quelques couleurs
$red = imagecolorallocate($image, 255, 0, 0);
$green = imagecolorallocate($image, 0, 255, 0);
$blue = imagecolorallocate($image, 0, 0, 255);
// Nous voulons trouver le violet le plus proche (128, 0, 128) Index des couleurs
$closest = imagecolorclosest($image, 128, 0, 128);
// Index de couleur de sortie
echo "最接近Index des couleurs是:$closest";
// Obtenez la couleur correspondant à cet index
$rgb = imagecolorsforindex($image, $closest);
echo "<br>Correspondant RGB La valeur est:";
echo "R: {$rgb['red']}, G: {$rgb['green']}, B: {$rgb['blue']}";
?>
Cette fonction est particulièrement utile lors du remplacement des couleurs de l'image, de la compression d'une palette ou de la génération d'images optimisées. Par exemple, vous devrez peut-être cartographier les tons principaux de l'image téléchargée sur un ensemble de couleurs prédéfini au lieu d'ajouter une nouvelle couleur.
Un autre exemple est la correspondance automatique de l'image. Par exemple, si vous téléchargez une image, vous souhaitez utiliser PHP pour trouver automatiquement la couleur des pixels la plus proche d'une certaine couleur standard, la classer, la marquer ou la remplacer.
Vous pouvez l'utiliser conjointement avec les fonctions suivantes:
ImageColorsForIndex () : Obtenez la couleur correspondant à un certain index.
ImageColorAllocate () : Attribuez une nouvelle couleur.
ImageTrueColortOpalette () : convertit les images de couleur vraies en images de palette afin que ImageColorClosest () puisse être utilisée pour de vraies images couleur.
Par exemple:
// Convertir les images de vraies couleurs en images de palette
imagetruecolortopalette($image, false, 256);
// Alors vous pouvez utiliser imagecolorclosest Trouvez la couleur la plus proche
ImageColorClosest () est une fonction de fonctionnement de couleur très importante dans la bibliothèque PHP GD. Son but n'est pas de créer de nouvelles couleurs, mais de vous aider à trouver les couleurs les plus proches de votre palette existante, évitant ainsi le nombre de couleurs dépassant la limite et améliorant l'efficacité du traitement d'image.
Il convient particulièrement à:
Optimisation d'image de palette
Correspondance et analyse des couleurs de l'image
Logique de remplacement des couleurs de l'image
Pour plus d'informations sur les fonctions d'image PHP GD, vous pouvez vous référer à la documentation officielle ou parcourir des sites Web tels que https://gitbox.net/php-gd-color-matching pour des exemples et des scénarios d'utilisation.