(PHP 4 >= 4.0.6, PHP 5, PHP 7)
imagecolorclosestalpha — Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir
$resim
, int $kırmızı
, int $yeşil
, int $mavi
, int $alfa
)Bu işlev, alfası ile birlikte belirtilen rengin paletli resimdeki en yakın benzerinin indisini döndürür.
resimimagecreatetruecolor() gibi bir resim oluşturma işlevinden dönen bir resim verisi.
kırmızıRengin kırmızı bileşeninin değeri.
yeşilRengin yeşil bileşeninin değeri.
maviRengin mavi bileşeninin değeri.
alfa0-127 arasında belirtilebilir. 0 tamamen mat, 127 ise tamamen şeffaf demektir.
Paletteki en yakın rengin indisi döner.
Örnek 1 - Bir resimde renk aramak
<?php
// Bir resim açıp paletli resme dönüştürelim
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// Aranacak renkler (RGB)
$colors = array(
array(254, 145, 154, 50),
array(153, 145, 188, 127),
array(153, 90, 145, 0),
array(255, 137, 92, 84)
);
// 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 = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
$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, 50); En yakın (252, 150, 148, 0). #1: Aranan (153, 145, 188, 127); En yakın (148, 150, 196, 0). #2: Aranan (153, 90, 145, 0); En yakın (148, 90, 156, 0). #3: Aranan (255, 137, 92, 84); En yakın (252, 150, 92, 0).
Bilginize: Bu işlev GD'nin 2.0.1 veya sonraki sürümlerini gerektirir (2.0.28 veya sonraki sürümler önerilir).