imagecolorclosestalpha — 指定された色に最も近い色のインデックスと透明度を取得します。
int imagecolorclosestalpha ( resource $image 、 int $red 、 int $green 、 int $blue 、 int $alpha )
指定された RGB 値とアルファ深度に「最も近い」画像パレット内の色を返します。
imageイメージ作成関数 (imagecreatetruecolor() など) によって返されるイメージ リソース。
red赤のコンポーネントの値。
green緑のコンポーネントの値。
blue青コンポーネントの値。
0 ~ 127 のalphaA値。 0 は完全に不透明を意味し、127 は完全に透明を意味します。
color パラメータは 0 ~ 255 の整数、または 0x00 ~ 0xFF の 16 進数です。
パレット内で最も近い色のインデックスを返します。
画像で色のセットを検索します。
<?php// 画像から開始し、パレットベースの画像に変換します $im = imagecreatefrompng('figures/imagecolorclosest.png');imagetruecolortopalette($im, false, 255);// 色 (RGB) を検索します$colors = array( 配列(254, 145, 154, 50), 配列(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['green']}, {$result['blue']}, {$result['alpha']})"; echo "#$id: Search ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); 最も近い一致: $result.n";}imagedestroy($im ); ?>
上記の例の出力は次のようになります。
#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() 指定された色に最も近い色合いの白黒インデックスを取得します。