imagecolorexact

(PHP 4, PHP 5)

imagecolorexactGet the index of the specified color

Description

int imagecolorexact ( resource $image , int $red , int $green , int $blue )

Returns the index of the specified color in the palette of the image.

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.

Parameters

image

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().

red

Value of red component.

green

Value of green component.

blue

Value of blue component.

Return Values

Returns the index of the specified color in the palette, or -1 if the color does not exist.

Examples

Example #1 Get colors from the GD logo

<?php
// Setup an image
$im imagecreatefrompng('./gdlogo.png');

$colors   = Array();
$colors[] = imagecolorexact($im25500);
$colors[] = imagecolorexact($im000);
$colors[] = imagecolorexact($im255255255);
$colors[] = imagecolorexact($im10025552);

print_r($colors);

// Free from memory
imagedestroy($im);
?>

The above example will output something similar to:

Array
(
    [0] => 16711680
    [1] => 0
    [2] => 16777215
    [3] => 6618932
)

See Also

Коментарии

<?php

$src 
"../images/pic.gif";

$red 9;
$green 9;
$blue 4;

$pic0026 imagecreatefromgif $src );

$ind imagecolorexact $pic$red$green$blue );

echo 
'<img src="../images/pic.gif" border="0" alt="pic" title="View pic" /><br /><br />';

echo 
"RED ( " $red " ) GREEN ( " $green " ) BLUE ( " $blue " )<br />-> Palette Index = " $ind;

if ( 
$ind != -)
{
echo 
"<br />[ The color exists! ]";
}
else
{
echo 
"<br />[ The color does not exist! ]";
}

imagedestroy $pic );

?>
2005-11-16 13:14:24
http://php5.kiev.ua/manual/ru/function.imagecolorexact.html
A few notes about this function...

This function will only work on images where the palette is 256 colors or less. You also can not use imagetruecolortopalette() to reduce the palette on a true color PNG image that has greater than 256 colors in it's palette, then call this function. If you try to do this imagecolorexact() will report colors not being in the image when they are in the image!

1. works on png(s) 8bit/256 colors or less.
2. works on all gif(s)
3. does not work on any type of jpg/jpeg image.
2006-02-18 14:38:02
http://php5.kiev.ua/manual/ru/function.imagecolorexact.html
A script that changes colors depending on get variable
important to note: I had little success with pngs and getting true red
gifs work much better

<?php
//0 is yellow, 1 is red, 2 is blue
$y ceil($_GET["c"]/2);
$r floor($_GET["c"]/2);
$b floor($_GET["c"]/2);

$gd imagecreatefromgif("example.gif");
imagecolorset($gdimagecolorexact($gd25500), $r*255$y*255$b*255);
imagecolorset($gdimagecolorexact($gd19100), $r*191$y*191$b*191);
imagecolorset($gdimagecolorexact($gd12800), $r*128$y*128$b*128);
imagecolorset($gdimagecolorexact($gd25500), $r*64$y*64$b*64);

header('Content-Type: image/gif');
imagegif($gd);

?>
2011-03-25 00:11:06
http://php5.kiev.ua/manual/ru/function.imagecolorexact.html

    Поддержать сайт на родительском проекте КГБ