さて、私は希望の結果を返すのが難しい方法があります。だから私はテスト結果を出して、私が期待していなかった結果を返しています。ここでC - RGBA変換で目的のRGB結果が返されない
は一例である - >
int color = 0x00FFFF00;
return 0xFF & (color >> 24) | 0xFF & (color >> 16) | 0xFF & (color >> 8);
私が知っているから、これは返す必要があります:
0x00FFFF
をしかし、それは実際に返されます。
0x0000FF
をできる人してください何が起きているのか説明してください。また、32ビットRGBA整数を24ビットRGB整数に正しく変換する方法も知っています。ありがとうございます。
あなたが適用されます&シフト0xFFしたがって貴重なバイトは1つしかなく、他のバイトはゼロです。 –
私は知っています。私はRGBA整数内の特定の色の値を取得し、RGB整数にキャストしようとしていましたが、クリアライトはすでにこの1つで私を助けました。私は何とか私がここで間違っていたものを見る。私は赤と緑の要素の結果をRGB整数に合わせてシフトしていたはずです。 – SoleCore