Con il valore recuperato alle coordinate x,y specificate è possibile allocare di nuovo un colore, semmai con le variazioni ritenute necessarie alle modifiche da apportare all'immagine.
Si tratta di un buon modo di gestire i colori, specie se si lavora con
imagecreatefromgif ().
Se la libreria è GD 2.0 o superiore, con le immagini truecolor,
imagecolorat()restituisce il valore RGB di quel pixel come intero.
Normalmente questa funzione viene usata con
imagecolorsforindex() per gestire i dati recuperati.
imagecolorat ( resource $image , int $x , int $y )
Parametri
$image: una risorsa immagine restituita da una delle funzioni di creazione immagine
$x: coordinata del punto x
$y: coordinata del punto y
<?php
$Immagine =
imagecreatefrompng("colori.png");// carica l'immagine
$X= 75; $Y=60; // punto di lettura
$rgb =
imagecolorat($Immagine, $X, $Y); // legge il punto X,Y
// array dei componenti del colore
$ComponenteColore =
imagecolorsforindex($Immagine, $rgb);
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"];
?>
Per l'immagine sotto, il risultato sarà simile a questo:
Posizione lettura pixel x=75 y=60
Colore RGB rilevato:
Rosso = 255
Verde = 0
Blu = 255
Componente alpha = 0
Risultato: