imagecolorclosest

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Açıklama

imagecolorclosest(
    GdImage$görüntü,
    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.

Görüntüyü bir dosyadan oluşturursanız sadece Görüntüde kullanılan renkler çözümlenir. Renklerin sadece bir palette bulunması durumunda bu çözümleme yapılmaz.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin 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.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Bir görüntüde renk aramak

<?php
// Bir görüntü açıp paletli görüntüye dönüştürelim
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Aranacak renkler (RGB)
$colors = array(
array(
254, 145, 154),
array(
153, 145, 188),
array(
153, 90, 145),
array(
255, 137, 92)
);

// 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

To Top