質問

私は使用しています BitConverter.ToInt32 3パックする byte の値 int, 、 そのようです:

byte R = 0;
byte G = 0;
byte B = 0;
int i = BitConverter.ToInt32(new byte[] { R, G, B, 0 }, 0);

これを行うためのより速い方法はありますか? int 毎回?からバイトを取得します int は簡単だ:

int i = 34234;
byte B = (byte)(i >> 0);
byte G = (byte)(i >> 8);
byte R = (byte)(i >> 16);

このプロセスを逆転させ、ビットシフトを使用して既存のRGBバイトを書き戻す簡単な方法はありますか int?

役に立ちましたか?

解決

int i = (B << 0) | (G << 8) | (R << 16);

他のヒント

あなたはそれを考慮する必要があります カラー構造. 。 r、g、bプロパティとfromargb()およびtoargb()メソッドを備えています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top