Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
C ++でUINT32カラーフォーマットをAaBbGgRrからAaRrGgBbに変換しようとしています。Aa = アルファ、Bb = 青、Gg = 緑、Rr = 赤。変換とは、Bb と Rr の値を切り替えることを意味します。誰かが私がそれを達成する方法を知っていますか?
これを実現するには、マスクとビット シフトを使用できます。
uint32_t newValue = oldValue; newValue = newValue & 0xFF00FF00; // open new space to insert the bits newValue = ((oldValue & 0xFF)<< 16) | newValue; // change BB newValue = ((oldValue & 0x00FF0000) >> 16) | newValue; // Change RR