argb-uintからrチャネルを取得しますか?
-
10-07-2019 - |
質問
iは関数のパラメーターにargb値があり、関数はagb値を削除してrのみを保持する必要があります。どうしますか?ありがとう
解決
これは、ビット単位のシフトとビット単位のANDで行われます。
32ビット整数のuint。 A、R、G、Bのそれぞれは、8ビット(1バイト)を占有します。 そして、名前がA、R、G、Bを意味するのと同じ順序で表示されます
bを取得するには、ビット単位のANDステートメントで他のすべてのビットをマスクする必要があります。
a = argb& 255 バイナリの255は11111111であるため、必要なビットのみを保持します。
gの場合、最初にビットをシフトしてから上記を行う必要があります。 g = argb>> 8& 255
rは同じですが、16ビットをシフトします
r = argb>> 16& 255
および a = argb>> 24& 255
役立つこと
他のヒント
詳細については、こちらをご覧ください。 http://www.adobe.com/devnet/flash/articles/bitwise_operators_print。 html
所属していません StackOverflow