2017-04-15 7 views
0

色をRGBに変換する式がわかりました。 例Javaの秘密の色からrgb値へ

Color c=new Color(100,100,100); 
Int rgb1= c.getRed()*65536+c.getGreen()*256+c.getBlue(); 

これは単一RGB値を取得する方法です。私はこの2 RGB1とRGB2を比較したときに、Javaプログラミング

int rgb2=c.getRGB(); 

を使用して

は、彼らが別の値を示しています。 私の最初の式で何が問題なのですか?親切に私の問題を解決してください。ありがとう

+0

getRead()は何を返しますか? –

+0

申し訳ありません、そのgetRed()。私はそれを修正しました。 –

+0

注釈として、左シフト「a << b」は乗算「a * 2^b」と数学的に等価です。実際の数ではなくパックされたバイトで作業しているので、左シフトとしてこれらの乗算を行うのはもっと慣れでしょう。 '(赤<< 16)| (緑の<< 8)|青 ' – Radiodef

答えて

1

最初の方法は、色のアルファ値を無視するためです。
c.getAlpha()は255を返し、この値は使用しませんが、はそれを使用するので、646464とは異なるFF646464(16進数ベース)を返します。

+0

それを考えなかった。アルファ値を追加する方法を教えてください。 –

+0

ここを見てください - http://stackoverflow.com/questions/2534116/how-to-convert-get-rgbx-y-integer-pixel-to-colorr-gba-in-java – TDG

+1

ここには、これを示すOPがそのケースです。 http://ideone.com/dWwtk8 – Radiodef

関連する問題