Position actuelle: Accueil> Derniers articles> Quelle est la façon spécifique d'utiliser la fonction ImageColorClosest pour trouver des index de couleur approximatifs dans une image?

Quelle est la façon spécifique d'utiliser la fonction ImageColorClosest pour trouver des index de couleur approximatifs dans une image?

gitbox 2025-08-29

Explication détaillée des étapes d'utilisation

    • Créez ou chargez une ressource d'image basée sur une palette à l'aide d'imageRereateFromGif () , d'imageReateFrommpng () ou d'imageReceRate () .

  1. Appelez ImageColorClosest ()

    • Passez la valeur RVB de la couleur cible et la fonction renvoie l'index de la palette dans l'image la plus proche de cette couleur.

  2. Utilisez l'index de couleur renvoyé

    • Vous pouvez utiliser cet index pour dessiner, remplacer les couleurs ou lire les informations sur les couleurs.


Exemple de code

 <span><span><span class="hljs-comment">// Chargez une image de palette</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromgif</span></span><span>(</span><span><span class="hljs-string">'palette_image.gif'</span></span><span>);

</span><span><span class="hljs-comment">// Définissez une couleur que vous souhaitez correspondre,Comme un bleu clair</span></span><span>
</span><span><span class="hljs-variable">$targetRed</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>;
</span><span><span class="hljs-variable">$targetGreen</span></span><span> = </span><span><span class="hljs-number">150</span></span><span>;
</span><span><span class="hljs-variable">$targetBlue</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>;

</span><span><span class="hljs-comment">// Obtenez l&#39;indice de couleur le plus proche</span></span><span>
</span><span><span class="hljs-variable">$closestColorIndex</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorclosest</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$targetRed</span></span><span>, </span><span><span class="hljs-variable">$targetGreen</span></span><span>, </span><span><span class="hljs-variable">$targetBlue</span></span><span>);

</span><span><span class="hljs-comment">// Obtenez des composants de couleur via l&#39;index de couleur</span></span><span>
</span><span><span class="hljs-variable">$colors</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorsforindex</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$closestColorIndex</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"L&#39;indice de couleur le plus proche est: "</span></span><span> . </span><span><span class="hljs-variable">$closestColorIndex</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Couleur correspondanteRGBLa valeur est: R=<span class="hljs-subst">{$colors['red']}</span></span></span><span> G=</span><span><span class="hljs-subst">{$colors['green']}</span></span><span> B=</span><span><span class="hljs-subst">{$colors['blue']}</span></span><span>\n";

</span><span><span class="hljs-comment">// Libérez des ressources d&#39;image</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span></span>

Choses à noter

  • ImageColorClosest ne convient qu'aux images de palette. Pour les vrais images couleur, la correspondance des couleurs est peu importante, car les vraies images en couleur n'ont pas de palette fixe.

  • S'il n'y a pas de couleur correspondante exacte dans la palette de couleurs de l'image, la fonction renvoie l'index de couleur le plus proche pour assurer la plus petite différence de couleur.

  • Cette fonction est efficace et convient aux exigences de recherche de couleurs en temps réel.