imagecolorresolve 


gd apg

GET index of the specified color or its closest possible alternative in an image file.





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





$image symbolized by a identifier returned by one of the image creation functions, such as imagecreate or imagecreatetruecolor.

This function returns the index for a requested color, either the exact color or the closest possible alternative.

If you created the image from a file, only colors used in the image are resolved.

Colors present only in the palette are not resolved.



<?php

int imagecolorresolve
GdImage $image
                                              
int $red
                                              
int $green
                                              
int $blue )


where,

$image The image identifier

$red 
The value of red component color 

$green 
The value of green component color

$blue 
The value of blue component color

?>
 

  $image   


The image identifier.



  $red   


The value of red component of color.



  $green   


The value of green component of color.



  $blue   


The value of blue component of color.



  1 EXERCISE   

<?php

// RUN this code several times

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

$lang 'en';

$base_img01 "gif/GIF 015 01.gif";

$im01 imagecreatefromgif($base_img01);
$nbr_c imagecolorstotal($im01);

$pal_ref01 "gif/GIF 015 01-searched color.gif";

$pal_res01 "gif/GIF 015 01-resolved color.gif";

if(
$nbr_c == FALSE)
{
$en '<br><br>TRUECOLOR IMAGE ';
}
else
{
$en '<br><br>PALETTE IMAGE<br>'$nbr_c .' colors';
}

echo 
$base_img01?><?php echo $$lang?><br><br>
<img src="<?php echo $base_img01?>"
 alt="<?php echo $base_img01?>
 title="<?php echo $base_img01?>" width="400"><br><br> 
<?php

$red_ref01 
mt_rand(0255);
$green_ref01 mt_rand(0255);
$blue_ref mt_rand(0255);

$en "<br>" $pal_ref01 "<br><br>Referenced Color: ";

echo $
$lang ' RGB = ( ' $red_ref01 ', '
 
$green_ref01 ', ' $blue_ref ' )';

$imref01 imagecreate(imagesx($im01), 60);
$ref_color01 
imagecolorallocate($imref01$red_ref01$green_ref01$blue_ref);
imagegif($imref01$pal_ref01);
?>
<br><br><img src="<?php echo $pal_ref01?>"
 alt="<?php echo $pal_ref01?>
 title="<?php echo $pal_ref01?>" width="400" height="40"><br><br>
 
<?php
$ndx_res01 

imagecolorresolve($im01$red_ref01$green_ref01$blue_ref);

$arr_res01 
imagecolorsforindex($im01$ndx_res01);

$red_res01 $arr_res01['red'];
$green_res01 $arr_res01['green'];
$blue_res01 $arr_res01['blue'];

$en "<br>" $pal_res01 "<br><br>Resolved Color: ";

echo $
$lang ' RGB = ( ' $red_res01 ', '
 
$green_res01 ', ' $blue_res01 ' )';
 
 
$imres01 imagecreate(imagesx($im01), 60);
$res_color 
imagecolorallocate($imres01$red_res01$green_res01$blue_res01);
imagegif($imres01$pal_res01);
 
 
?>
<br><br><img src="<?php echo $pal_res01?>"
 alt="<?php echo $pal_res01?>
 title="<?php echo $pal_res01?>" width="400" height="40"><br><br>
 
 

 RESULT   

GIF 015 01.gif

PALETTE IMAGE
256 COLORS ( BASE IMAGE )

GIF 015 01.gif apr

  2 EXERCISE   

<?php

// RUN this code several times

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

$lang 'en';

$base_img02 "png/PNG 034 02.png";

$im02 imagecreatefrompng($base_img02);
$nbr_c imagecolorstotal($im02);

$pal_ref02 "png/PNG 034 02-searched color.png";
$pal_res02 "png/PNG 034 02-resolved color.png";

if(
$nbr_c == FALSE)
{
$en '<br><br>TRUECOLOR IMAGE ';
}
else
{
$en '<br><br>PALETTE IMAGE '$nbr_c .' colors';
}

echo 
$base_img02?><?php echo $$lang?><br><br>
<img src="<?php echo $base_img02?>"
 alt="<?php echo $base_img02?>
 title="<?php echo $base_img02?>" width="400"><br><br> 
<?php

$red_ref02 
mt_rand(0255);
$green_ref02 mt_rand(0255);
$blue_ref mt_rand(0255);;

$en "<br>" $pal_ref02 "<br><br>Referenced Color: ";

echo $
$lang ' RGB = ( ' $red_ref02 ', '
 
$green_ref02 ', ' $blue_ref ' )';

$rsrref02 imagecreate(imagesx($im02), 60);
$ref_color02 
imagecolorallocate($rsrref02$red_ref02$green_ref02$blue_ref);
imagepng($rsrref02$pal_ref02);
?>
<br><br><img src="<?php echo $pal_ref02?>"
 alt="<?php echo $pal_ref02?>
 title="<?php echo $pal_ref02?>" width="400" height="40"><br><br>
 
<?php
$ndx_res02 

imagecolorresolve($im02$red_ref02$green_ref02$blue_ref);

$arr_res02 
imagecolorsforindex($im02$ndx_res02);

$red_res02 $arr_res02['red'];
$green_res02 $arr_res02['green'];
$blue_res02 $arr_res02['blue'];

$en "<br>" $pal_res02 "<br><br>Resolved Color: ";

echo $
$lang ' RGB = ( ' $red_res02 ', '
 
$green_res02 ', ' $blue_res02 ' )';
 
 
$rsrres02 imagecreate(imagesx($im02), 60);
$res_color 
imagecolorallocate($rsrres02$red_res02$green_res02$blue_res02);
imagepng($rsrres02$pal_res02);
 
 
?>
<br><br><img src="<?php echo $pal_res02?>"
 alt="<?php echo $pal_res02?>
 title="<?php echo $pal_res02?>" width="400" height="40"><br><br>
 
 

 RESULT   

PNG 034 02.png

TRUECOLOR IMAGE ( BASE IMAGE )

PNG 034 02.png apr