(PHP 4, PHP 5, PHP 7, PHP 8)
imagecolorclosest — Belirtilen rengin en yakın benzerinin indisini döndürür
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.
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.
Paletteki en yakın rengin indisi döner.
Sürüm: | Açıklama |
---|---|
8.0.0 | gö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. |
Ö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).