imagecolorat 


gd apg

GETS the index of the color of the pixel at the specified location in an image file.





This function get the index of an specific pixel color $image.





$x = 0 and $y = 0 are the coordinates of the top left point.

If $image is truecolor, this function returns the RGB value of that pixel as integer.

This function returns a Boolean FALSE or a non-Boolean wich evaluates to FALSE on failure.

The === operator or the var_dump could be used to test the value returned by this function.



<?php

int
|false imagecolorat GdImage $image int $x int $y )


where,

$image The image identifier 

$x 
The x-coordinate of the point 

$y 
The y-coordinate of the point 

?>
 

  $image   


The image identifier.



  $x   


x-coordinate of the point.



  $y   


y-coordinate of the point.



  1 EXERCISE   

<?php 

// RUN this code several times

echo 'PHP VERSION: ' PHP_VERSION '<br><br>';

$tst_img01 "gif/GIF 011 03.gif"

echo 
$tst_img01?><br><br>Existing palette Image
<br><br><img src="<?php echo $tst_img01?>" alt="<?php echo $tst_img01?>"><br><br> 

<?php 

$im01 
imagecreatefromgif($tst_img01);

$get_w01 imagesx($im01);  

$get_h01 imagesy($im01); 

echo 
$get_w01 'X' $get_h01 ' px<sup>2</sup><br><br>';

$x01 mt_rand(0$get_w01-1);
$y01 mt_rand(0$get_h01-1);

$ndx_color01 imagecolorat($im01$x01$y01);

echo 
'The color index at the pixel ( ' $x01 ', ' $y01 ' ) 
 of this image is ' 
$ndx_color01 '<br>';
 
?>

 RESULT   

GIF 011 03.gif

GIF 011 03.gif apr

The color index
at the pixel ( 309, 189 )
of this image is 57.


This is a particular result.

With each new run a new result will be obtained, because of the random data used.

Therefore, execute this exercise several times.


  2 EXERCISE   

<?php 

echo 'PHP VERSION: ' PHP_VERSION '<br><br>';

$tst_img02 "jpeg/JPEG 011 01 Katedrála Sv. Víta (bmp2jpeg).jpg"

echo 
$tst_img02?><br><br>Existing truecolor Image 
<br><br><img src="<?php echo $tst_img02?>
alt="<?php echo $tst_img02?>" width="400"><br><br> 

<?php 

$im02 
imagecreatefromjpeg($tst_img02);

$get_w02 imagesx($im02);  

$get_h02 imagesy($im02); 

echo 
$get_w02 'X' $get_h02 ' px<sup>2</sup><br><br>';

for(
$x02=30$x02 <= 32$x02++)
    for(
$y02=30$y02 <= 32$y02++)
    {

$ndx_color02 imagecolorat($im02$x02$y02);

echo 
'The color index at<br>the pixel ( ' $x02 ', ' $y02 ' ) 
<br> is ( ' 
$ndx_color02 ' )<sub>D</sub> = ( ' dechex($ndx_color02) . ' )<sub>H</sub><br><br>';
    }
    
    
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    
         This exercise consumes a lot of time when: 
          
         $x02 = 0
         $x02 < $get_w02
         
         and
         
         $y02 = 0
         $y02 < $get_h02
         
       - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
    
?>

 RESULT   

JPEG 011 01 Katedrála Sv. Víta (bmp2jpeg).jpg

JPEG 011 01 Katedrála Sv. Víta (bmp2jpeg).jpg apr

616X408 px2

The color index at
the pixel ( 30, 30 )
is ( 11384786 )D = ( adb7d2 )H

The color index at
the pixel ( 30, 31 )
is ( 11384786 )D = ( adb7d2 )H

The color index at
the pixel ( 30, 32 )
is ( 11712981 )D = ( b2b9d5 )H

The color index at
the pixel ( 31, 30 )
is ( 11450579 )D = ( aeb8d3 )H

The color index at
the pixel ( 31, 31 )
is ( 11384786 )D = ( adb7d2 )H

The color index at
the pixel ( 31, 32 )
is ( 11778774 )D = ( b3bad6 )H

The color index at
the pixel ( 32, 30 )
is ( 11712981 )D = ( b2b9d5 )H

The color index at
the pixel ( 32, 31 )
is ( 11712981 )D = ( b2b9d5 )H

The color index at
the pixel ( 32, 32 )
is ( 11909847 )D = ( b5bad7 )H


  3 EXERCISE   

<?php

echo 'PHP VERSION: ' PHP_VERSION '<br><br>';

$tst_img03 "bmp/BMP 004 01 Katedrála Sv. Víta.bmp"

echo 
$tst_img03?><br><br>Existing truecolor Image 
<br><br><img src="<?php echo $tst_img03?>
alt="<?php echo $tst_img03?>" width="400"><br><br> 

<?php 

$im03 
imagecreatefrombmp($tst_img03);

$get_w03 imagesx($im03);  

$get_h03 imagesy($im03);

echo 
"$get_w03 px X $get_h03 px<br><br>"

for(
$x03=40$x03 44$x03++)
    for(
$y03=40$y03 44$y03++)
    {

$ndx_color03 imagecolorat($im03$x03$y03);

echo 
'The color index at<br>the pixel ( ' $x03 ', ' $y03 ' ) 
<br>is ( ' 
$ndx_color03 ' )<sub>D</sub> = ( ' strtoupper(dechex($ndx_color03)) . ' )<sub>H</sub><br><br>';

    }
    
    
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
    
         This exercise consumes a lot of time when:
         
         $x03 = 0
         $x03 < $get_w03
         
         and
         
         $y03 = 0
         $y03 < $get_h03
    
       - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
    
?>

 RESULT   

BMP 004 01 Katedrála Sv. Víta.bmp

BMP 004 01 Katedrála Sv. Víta.bmp apr

616 px X 408 px

The color index at
the pixel ( 40, 40 )
is ( 12369369 )D = ( BCBDD9 )H

The color index at
the pixel ( 40, 41 )
is ( 12171737 )D = ( B9B9D9 )H

The color index at
the pixel ( 40, 42 )
is ( 12632795 )D = ( C0C2DB )H

The color index at
the pixel ( 40, 43 )
is ( 12237783 )D = ( BABBD7 )H

The color index at
the pixel ( 41, 40 )
is ( 12237270 )D = ( BAB9D6 )H

The color index at
the pixel ( 41, 41 )
is ( 12040147 )D = ( B7B7D3 )H

The color index at
the pixel ( 41, 42 )
is ( 12698074 )D = ( C1C1DA )H

The color index at
the pixel ( 41, 43 )
is ( 12237780 )D = ( BABBD4 )H

The color index at
the pixel ( 42, 40 )
is ( 12698073 )D = ( C1C1D9 )H

The color index at
the pixel ( 42, 41 )
is ( 12566486 )D = ( BFBFD6 )H

The color index at
the pixel ( 42, 42 )
is ( 12632534 )D = ( C0C1D6 )H

The color index at
the pixel ( 42, 43 )
is ( 12369620 )D = ( BCBED4 )H

The color index at
the pixel ( 43, 40 )
is ( 12698076 )D = ( C1C1DC )H

The color index at
the pixel ( 43, 41 )
is ( 12369622 )D = ( BCBED6 )H

The color index at
the pixel ( 43, 42 )
is ( 12697818 )D = ( C1C0DA )H

The color index at
the pixel ( 43, 43 )
is ( 12369619 )D = ( BCBED3 )H


  4 EXERCISE   

<?php

// RUN this code several times

echo 'PHP VERSION: ' PHP_VERSION '<br><br>'

$tst_img04 "png/PNG 026 03 P de Galinhas.png"

echo 
$tst_img04?><br><br>Existing truecolor Image 
<br><br><img src="<?php echo $tst_img04?>
 alt="<?php echo $tst_img04?>" width="400"><br><br> 

<?php 

$im04 
imagecreatefrompng($tst_img04);

$get_w04 imagesx($im04);  

$get_h04 imagesy($im04); 

echo 
$get_w04 'X' $get_h04 ' px<sup>2</sup><br><br>';

$x04 mt_rand(0$get_w04-1);
$y04 mt_rand(0$get_h04-1);

$ndx_color04 imagecolorat($im04$x04$y04);

echo 
'The color index<br>at the pixel ( ' $x04 ', ' $y04 ' ) 
<br>is ( ' 
dechex($ndx_color04) . ' )<sub>H</sub> = ( ' strtoupper(dechex($ndx_color04)) . ' )<sub>H</sub><br>'

?>

 RESULT   

PNG 026 03 P de Galinhas.png

PNG 026 03 P de Galinhas.png apr

624X468 px2

This exercise displays a new result for each new run.


lax(USA).png

lax(USA).png apr

  5 EXERCISE   

<?php

// RUN this exercise

echo 'PHP VERSION: ' PHP_VERSION '<br><br>';  

$tst_img05 "png/lax(USA).png"

echo 
$tst_img05?><br><br>Existing Image 
<br><br><img src="<?php echo $tst_img05?>
alt="<?php echo $tst_img05?>"><br><br> 

<?php

$info05 
getimagesize($tst_img05);

/*
echo '<pre>';
var_dump($info05);
echo '</pre>';
*/

$im05 imagecreatefrompng($tst_img05);

$get_w05 imagesx($im05);  

$get_h05 imagesy($im05); 

echo 
$get_w05 'X' $get_h05 ' px<sup>2</sup><br><br>';

for(
$x05=0$x05 $get_w05$x05++)
    for(
$y05=0$y05 $get_h05$y05++)
    {

$ndx_color05 imagecolorat($im05$x05$y05);


echo 
'At the pixel ( ' $x05 ', ' $y05 ' ) 
 <br>is ( ' 
dechex($ndx_color05) . ' )<sub>H</sub> = ( ' $ndx_color05 ' )<sub>D</sub><br><br>';

}

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    
   This exercise consumes a lot of time when executed
    
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
    
?>