2

BufferedImageを使用して (TYPE_INT_RGB)の個々のピクセルに色を付けようとしsetRGB()ていますが、RGB 値をフォーマットする方法がわかりません。結果を単一の整数として取得したい。int3 つの値 (赤、緑、青) を取り、正しい形式の整数を返すメソッドはありsetRGB()ますか?

4

2 に答える 2

4
new Color(red, green, blue).getRGB();
于 2010-04-03T20:57:13.940 に答える
2

int rg、およびがあると仮定するとb、次のことができます。

int pixel = (r << 16) | (g << 8) | b;

これは、a のピクセルBufferedImageが 4 バイトの int であるためです。4 バイトは、アルファ、赤、緑、青をこの順序で表します。したがって、赤を左に 2 バイトシフトし、緑を左に 1 バイトシフトすると、ビットごとの論理和rg、およびbで使用できる有効なピクセルが得られますsetRGB()

于 2010-04-03T20:59:39.183 に答える