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

search for in the

imagecolorresolvealpha> <imagecolormatch
Last updated: Fri, 13 Nov 2009

view this page in

imagecolorresolve

(PHP 4, PHP 5)

imagecolorresolveBelirtilen rengin veya en yakın benzerinin indisini döndürür

Açıklama

int imagecolorresolve ( resource $resim , int $kırmızı , int $yeşil , int $mavi )

Bu işlev, belirtilen rengin kendisinin veya en yakın benzerinin 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

Bir renk indisi döndürür.

Örnekler

Örnek 1 - Bir resimdeki renkleri öğrenmek için imagecoloresolve() kullanımı

<?php
// Bir resim yükleyelim
$im imagecreatefromgif('http://docs.php.net/images/php.gif');

// Resimden en yakın renkleri alalım
$colors = array();
$colors[] = imagecolorresolve($im2552552550);
$colors[] = imagecolorresolve($im00200127);

// Sonucu çıktılayalım
print_r($colors);

imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 89
    [1] => 85
)

Ayrıca Bakınız



add a note add a note User Contributed Notes
imagecolorresolve
ceo at l-i-e dot com
03-Jan-2002 11:55
Okay, so sometimes it's really IMPORTANT to get the exact color you want, only it's not *IN* the Image, and ImageColorResolve just isn't "close enough".

The following code is a disgustingly gross hack, rather slow, but it does that.

$colorcount = array();
for ($x = 0; $x < $width; $x++){
    for ($y = 0; $y < $height; $y++){
        $colorindex = imagecolorat($jpg, $x, $y);
        if (!isset($colorcount[$colorindex])){
            $colorcount[$colorindex] = 1;
        }
        else{
            $colorcount[$colorindex]++;
        }
    }
}
asort($colorcount);
reset($colorcount);

$black = imagecolorexact($jpg, 0, 0, 0);
if ($black == -1){
    $goner = key($colorcount);
    $rgb = imagecolorsforindex($jpg, $goner);
    #error_log("Need black: About to kill $goner ($rgb[red], $rgb[green], $rgb[blue]) which was only used in $colorcount[$goner] pixels", 0);
    unset($colorcount[$goner]);
    imagecolordeallocate($jpg, $goner);
    $black = imagecolorallocate($jpg, 0, 0, 0);
}
if ($black == -1){
    $black = imagecolorresolve($jpg, 0, 0, 0);
    #error_log("Damn!  STILL couldn't allocate the color!", 0);
}

imagecolorresolvealpha> <imagecolormatch
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites