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 — Belirtilen rengin indisini döndürür
Açıklama
int imagecolorexact
( resource $resim
, int $kırmızı
, int $yeşil
, int $mavi
)
Paletli bir resimden belirtilen rengin indisini döndürür.
Eğer resmi bir dosyadan oluşturmuşsanız sadece resimde kullanılan renkler çözümlenir. Palette bulunan renklerden resimde kullanılmamış olanlar çözümlenmez.
Değiştirgeler
- resim
-
imagecreatetruecolor() gibi bir resim oluşturma işlevinden dönen bir resim verisi.
- kırmızı
-
Rengin kırmızı bileşeninin değeri.
- yeşil
-
Rengin yeşil bileşeninin değeri.
- mavi
-
Rengin mavi bileşeninin değeri.
Dönen Değerler
Renk palette mevcut değilse -1, aksi takdirde rengin indisini döndürür.
Örnekler
Örnek 1 - GD logosunun renklerini öğrenelim
<?php
// Resmi belirtelim
$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);
// Belleği serbest bırakalım
imagedestroy($im);
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
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 );
?>
