imagecolorclosest

(PHP 4, PHP 5, PHP 7)

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

Açıklama

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

Bu işlev, bileşenleri belirtilen rengin en yakın benzerinin indisini döndürür.

İstenen renk ile paletteki renk arasındaki "mesafe" rengin bileşenlerinden oluşan üç boyutlu uzayda hesaplanı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.

Renk bileşenlerinin değerleri onluk tabanda 0-255 aralığında, onaltılık tabanda 0x00-0xFF aralığında belirtilebilir.

Dönen Değerler

Paletteki en yakın rengin indisi döner.

Örnekler

Örnek 1 - Bir resimde renk aramak

<?php
// Bir resim açıp paletli resme dönüştürelim
$im imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($imfalse255);

// Aranacak renkler (RGB)
$colors = array(
    array(
254145154),
    array(
153145188),
    array(
15390145),
    array(
25513792)
);

// Renkleri bulmak için bir döngü kuralım.
// En yakın rengin indisini alıp o indisin rengini öğrenelim
foreach($colors as $id => $rgb)
{
    
$res imagecolorclosest($im$rgb[0], $rgb[1], $rgb[2]);
    
$res imagecolorsforindex($im$res);
    
$res "({$res['red']}{$res['green']}{$res['blue']}{$res['alpha']})";

    echo 
"#$id: Aranan ($rgb[0]$rgb[1]$rgb[2]$rgb[3]); En yakın $res.\n";
}

imagedestroy($im);
?>

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

#0: Aranan (254, 145, 154); En yakın (252, 150, 148).
#1: Aranan (153, 145, 188); En yakın (148, 150, 196).
#2: Aranan (153, 90, 145); En yakın (148, 90, 156).
#3: Aranan (255, 137, 92); En yakın (252, 150, 92).

Ayrıca Bakınız