`

16进制数如何转换为RGB

 
阅读更多
DWORD color = 0xccaa00;
BYTE r = color >> 16;
BYTE g = color >> 8 &0xFF;
BYTE b = color & 0xFF;



& 按位与
如果对应的位都为1,那么结果就是1, 如果任意一个位是0 则结果就是0

0xFF0000
二进制表示 1111 1111  0000 0000  0000 0000
右移16位为  0000 0000 0000 0000 1111 1111 = R
右移8位为0000 0000 1111 1111 0000 0000  与0xFF(0000 0000 0000 00001111 1111)进行按位与操作 = 0 = G
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics