2012-03-17 20 views
0

私は知っている、どのように、与えられた色に近いARGB(16進)色の配列を取得するために、actionscript 3で。与えられた色の近くの色を見つける

例:

0xFF00FF00

緑。

緑のバリエーションを取得するにはどうすればよいですか?

私はビットマップデータのいくつかの緑の色を取得しようとしています。 getPixels32を使用して色を取得するループを作成することによって、私はそれを取得しようとしました。 問題は、私は各位置のビット色がレンダリングされたビットマップのビットと異なると思います。

パスファインダー用です。 緑の各ビットは、マップ内のノードを歩行可能に設定します。 パスファインダーのために歩くことができるようにするには、これらの色が何であるかを知る必要があります。

提案がありますか?

+0

質問をしないでください!あなたは、赤、緑または青に近いいくつかのピクセルの色を持っていて、それがどの色であるかを知る必要がありますか? IMO:ビットマップではなく2次元配列を目的に使用する方が良い – Eugeny89

答えて

3

色が似ているかどうかを解釈するには、RGB空間がひどいです。色の人間の知覚に近づく異なる色空間は、HSV(色相飽和度と値)である。ここでは、従うべき手順は次のとおりです。

  1. (http://www.cs.rit.edu/~ncs/color/t_convert.html)RGB空間からHSVへのあなたの価値を変換し彩度を変更します。同一の緑色の色相の異なる色合いを得るための値である。あなたもそれがある意味、私はtechnically..one色空間は他よりも小さくなっていると信じて少し定義された許容レベルバックHSVにRGB
  2. にあなたが
  3. を指定して再変換

との色相を変更することができ

  • 必ずしも1:1の変換ではありませんが、それはあなたの目的に役立ちます。

  • 関連する問題