BufferedImage
を使用して (TYPE_INT_RGB)の個々のピクセルに色を付けようとしsetRGB()
ていますが、RGB 値をフォーマットする方法がわかりません。結果を単一の整数として取得したい。int
3 つの値 (赤、緑、青) を取り、正しい形式の整数を返すメソッドはありsetRGB()
ますか?
2 に答える
4
new Color(red, green, blue).getRGB();
于 2010-04-03T20:57:13.940 に答える
2
int r
、g
、およびがあると仮定するとb
、次のことができます。
int pixel = (r << 16) | (g << 8) | b;
これは、a のピクセルBufferedImage
が 4 バイトの int であるためです。4 バイトは、アルファ、赤、緑、青をこの順序で表します。したがって、赤を左に 2 バイトシフトし、緑を左に 1 バイトシフトすると、ビットごとの論理和r
、g
、およびb
で使用できる有効なピクセルが得られますsetRGB()
。
于 2010-04-03T20:59:39.183 に答える