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

search for in the

imagecolorexactalpha> <imagecolordeallocate
Last updated: Fri, 10 Oct 2008

view this page in

imagecolorexact

(PHP 4, PHP 5)

imagecolorexact指定した色のインデックスを取得する

説明

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

画像パレット中の特定の色のインデックスを返します。

もし ファイルからイメージを生成した場合、イメージに使用されている色だけが 解決されます。パレットだけに存在する色は解決されません。

パラメータ

image

imagecreatetruecolor() のような画像作成関数が返す画像リソース。

red

赤コンポーネントの値。

green

緑コンポーネントの値。

blue

青コンポーネントの値。

返り値

指定した色の、パレット内でのインデックスを返します。 画像パレット中に色が存在しない場合は -1 を返します。

例1 GD ロゴからの色の取得

<?php
// 画像を用意します
$im imagecreatefrompng('./gdlogo.png');

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

print_r($colors);

// メモリから解放します
imagedestroy($im);
?>

上の例の出力は、たとえば 以下のようになります。

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


add a note add a note User Contributed Notes
imagecolorexact
jbr at ya-right dot com
19-Feb-2006 05: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
17-Nov-2005 04: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 );

?>

imagecolorexactalpha> <imagecolordeallocate
Last updated: Fri, 10 Oct 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites