downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

imagecolorexactalpha> <imagecolordeallocate
[edit] Last updated: Fri, 23 Mar 2012

view this page in

imagecolorexact

(PHP 4, PHP 5)

imagecolorexactGet the index of the specified color

Opis

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

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

Jeśli tworzony jest obraz z pliku, zwracane są indeksy kolorów użyte tylko w obrazie. Kolory będące tylko w palecie nie są zwracane.

Parametry

obraz

Zasób obrazu, zwrócony przez jedną z funkcji tworzących obrazy, taką jak imagecreatetruecolor().

red

Wartość składowa czerwonego.

green

Wartość składowa zielonego.

blue

Wartość składowa niebieskiego.

Zwracane wartości

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

Przykłady

Przykład #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);
?>

Powyższy przykład wyświetli coś podobnego do:

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

Zobacz też:



imagecolorexactalpha> <imagecolordeallocate
[edit] Last updated: Fri, 23 Mar 2012
 
add a note add a note User Contributed Notes imagecolorexact
samtobia at geemail dot com 25-Mar-2011 12:11
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 = 1 - ceil($_GET["c"]/2);
$r = 1 - floor($_GET["c"]/2);
$b = floor($_GET["c"]/2);

$gd = imagecreatefromgif("example.gif");
imagecolorset($gd, imagecolorexact($gd, 255, 0, 0), $r*255, $y*255, $b*255);
imagecolorset($gd, imagecolorexact($gd, 191, 0, 0), $r*191, $y*191, $b*191);
imagecolorset($gd, imagecolorexact($gd, 128, 0, 0), $r*128, $y*128, $b*128);
imagecolorset($gd, imagecolorexact($gd, 255, 0, 0), $r*64, $y*64, $b*64);

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

?>
jbr at ya-right dot com 18-Feb-2006 02:38
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.
info at educar dot pro dot br 16-Nov-2005 01: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 );

?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites