PHPのimagecolorclosestalpha - 指定した色+アルファ最も近い色のインデックスを使用して作られました
imagecolorclosestalpha - インデックスが指定した色+アルファ最も近い色を達成しました。
文法
int imagecolorclosestalpha ( resource $image , int $red , int $green , int $blue , int $alpha )
画像パレットが指定されたRGBカラー値とアルファ深さに「最も近い」で返します。
パラメータ
- イメージ関数によって作成された画像 (例えば、imagecreatetruecolorのための())画像リソースが返さ。
- 値赤赤色成分。
- 緑成分のための緑の値。
- 青 、青成分値。
- 0〜127のアルファ値です。 0は、127は完全に透明を意味し、完全に不透明を意味します。
色パラメータは、0〜255の整数である、あるいは0x00から0xFFでの16進数の間。
戻り値
パレット内の最も近い色のインデックスを返します。
例
画像の色のセットを検索します。
<?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 和最接近的匹配的 RGB foreach($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。\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()は、黒と白の指標の色に最も近い所定の色を得ることができます。