Utilizzo di cookies
Script GD libray con PHP Modelli Creare immagine Colore e trasparenza Disegnare Pennelli Misurare Filtri Testo Copy Salvare Miscellanea
GD library con PHP
imagecolorsforindex()
determina le componenti RGB di un punto colore


e-book
cartaceo

Permette di ottenere i componenti RGB del colore per un pixel alle coordinate X,Y, di solito prelevati con la funzione imagecolorat(). 
Le informazioni sul colore sono memorizzate in un array di quattro elementi. 
Ciascuno dei primi tre elementi contiene le quantità di rosso, verde e blu ed il quarto quello della componente alpha. 
Questa informazione può essere usata per altre elaborazioni, ad es. per il colore del carattere HTML o CSS oppure per disegnare sull'immagine stessa come nell'esempio seguente.
imagecolorsforindex ( resource $image , int $index )
Parametri
$image: Una risorsa immagine restituita da una funzione di creazione immagine. 
$index: Coordinate del punto immagine di lettura del colore del pixel.
Valori restituiti:
Restituisce un array delle chiavi rosso, verde, blu e alfa per l'indice colore specificato.


<?php
$Immagine = imagecreatefrompng('colori.png'); // carica immagine multicolore


// Ottenere l'indice del colore di un pixel alle coordinate X,Y
$X = 75; $Y = 60; // coordinate di lettura
// legge i componenti del colore nel punto x,y
$ColoreRGB_XY = imagecolorat($Immagine, $X, $Y);
// lo rende leggibile nei suoi componenti
$ComponenteColore = imagecolorsforindex($Immagine, $ColoreRGB_XY);
/*
echo"<br>Posizione lettura pixel x=$X y=$Y";
echo"<br><br>Colore RGB rilevato:";
echo"<br><br>Rosso = ".$ComponenteColore["red"];
echo"<br>Verde = ".$ComponenteColore["green"];
echo"<br>Blu = ".$ComponenteColore["blue"];
echo"<br>Componente alpha = ".$ComponenteColore["alpha"];
*/


$ColoreRilevato = imagecolorallocate($Immagine, $ComponenteColore["red"],$ComponenteColore["green"],$ComponenteColore["blue"]);
// disegna circonferenze del colore rilevato
for($x=0;$x<50;$x+=3)
{imageellipse($Immagine,98,70, 70+$x,70+$x,$ColoreRilevato);}
imagepng($Immagine); // al browser 
imagepng($Immagine," NimeFile.png"); // salva immagine
imagedestroy($Immagine);//libera memoria
?>
Inserendo coordinate diverse, ovviamente su altro punto colore, cambierà il risultato della successiva immagine. Risultato: