La funzione consente di specificare un colore personalizzato, cerca e restituisce la corrispondenza più vicina che si trova nella tavolozza dei colori.
Utile per la manipolazione del colore all'interno di un'immagine dinamica.
Non adatta ad essere usata con la funzione
imagecolortransparent ().
imagecolorclosest ( resource $image , int $red , int $green , int $blue )
Parametri
$image: una risorsa immagine restituita da una funzione di creazione immagine
$red: Valore della componente rossa (fra 0 e 255)
$green: Valore della componente verde (fra 0 e 255)
$blue: Valore della componente blu (fra 0 e 255)
I parametri colori sono interi compresi tra 0 e 255 e restituisce l'indice del colore più vicino a quella specificato nella richiesta.
<?php
header("Content-type: image/png");
$immagine =
imagecreate(200, 200); // crea immagine
$rosso =
imagecolorallocate($immagine, 255, 0, 0); // alloca il colore rosso
$VerdeBrillante =
imagecolorallocate($immagine,150 , 255, 150); // crea tonalità di verde
imagefill($immagine, 0, 0, $rosso); // colora l'immagine di rosso
// crea un cerchio colorato $VerdeBrillante
imagefilledellipse($immagine, 50, 50, 40, 40, $VerdeBrillante);
imagepng($immagine,"NomeFileA.png");// salva l'immagine
// ottiene il colore più vicino al verde reale sull'immagine
$newVerde =
imagecolorclosest($immagine, 0, 255, 0);
// crea una ellisse colorata secondo i valori restituiti
imagefilledellipse($immagine, 110, 110, 80, 140, $newVerde);
imagepng($immagine); // al browser
imagepng($immagine,"NomeFileB.png"); // salva
imagedestroy($immagine); // libera memoria
?>
Risultato: