imagecolorclosestalpha — 取得與指定的顏色加透明度最接近的顏色的索引。
int imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )
傳回影像調色盤中與指定的RGB 值以及alpha 深度最"接近"的顏色。
image由圖像創建函數(例如imagecreatetruecolor())傳回的圖像資源。
red紅色成分的值。
green綠色成分的數值。
blue藍色成分的值。
alpha一個介於0 和127 之間的值。 0 表示完全不透明,127 表示完全透明。
顏色參數是介於0 和255 之間的整數,或是介於0x00 和0xFF 之間的十六進位數。
傳回調色盤中最接近的顏色的索引。
搜尋圖像中的一組顏色。
<?php// 從一個圖像開始,並將其轉換為基於調色板的圖像$im = imagecreatefrompng('figures/imagecolorclosest.png');imagetruecolortopalette($im, false, 255);// 搜尋顏色(RGB)$colors = array( array(254, 145, 154, 50), array(153, 145, 188, 127), array(153, 90, 145, 0), array(255, 137, 92, 84));// 循環遍歷,找出調色盤中最接近的顏色//返回搜尋次數,搜尋的RGB 和最接近的匹配的RGBforeach($colors as $id => $rgb){ $result = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]); $result = imagecolorsforindex($im, $result); $ result = "({$result['red']}, {$result['green']}, {$result['blue']}, {$result['alpha']})"; echo "#$id: 搜尋($rgb[0], $rgb[1], $rgb[2], $rgb[3]); 最接近的符合: $result。
以上實例的輸出類似:
#0: 搜尋(254, 145, 154, 50); 最接近的匹配: (252, 150, 148, 0)。 #1: 搜尋(153, 145, 188, 127); 最接近的匹配: (148, 150, 196, 0)。 #2: 搜尋(153, 90, 145, 0); 最接近的匹配: (148, 90, 156, 0)。 #3: 搜尋(255, 137, 92, 84); 最接近的匹配: (252, 150, 92, 0)。
imagecolorexactalpha() 取得指定的顏色加透明度的索引值。
imagecolorclosest() 取得與指定的顏色最接近的顏色的索引值。
imagecolorclosesthwb() 取得與給定顏色最接近的色度的黑白色的索引。