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.
imagecolorexact
(PHP 4, PHP 5)
imagecolorexact — Get the index of the specified color
Descrierea
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.
Parametri
- image
-
O resursă - imagine, întoarsă de una din funcţiile de creare a imaginilor, cum ar fi imagecreatetruecolor ().
- red
-
Value of red component.
- green
-
Value of green component.
- blue
-
Value of blue component.
Valorile întroarse
Returns the index of the specified color in the palette, or -1 if the color does not exist.
Exemple
Example #1 Get colors from the GD logo
<?php
// Setup an image
$im = imagecreatefrompng('./gdlogo.png');
$colors = Array();
$colors[] = imagecolorexact($im, 255, 0, 0);
$colors[] = imagecolorexact($im, 0, 0, 0);
$colors[] = imagecolorexact($im, 255, 255, 255);
$colors[] = imagecolorexact($im, 100, 255, 52);
print_r($colors);
// Free from memory
imagedestroy($im);
?>
Exemplul de mai sus va afişa ceva similar cu:
Array
(
[0] => 16711680
[1] => 0
[2] => 16777215
[3] => 6618932
)
imagecolorexact
jbr at ya-right dot com
18-Feb-2006 08:38
18-Feb-2006 08:38
info at educar dot pro dot br
16-Nov-2005 07:14
16-Nov-2005 07:14
<?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 != -1 )
{
echo "<br />[ The color exists! ]";
}
else
{
echo "<br />[ The color does not exist! ]";
}
imagedestroy ( $pic );
?>
