已知RGB,得到整数很简单,如r=50, g=100, b=160,根据r + 256* + 65536*b算出来为10511410。假如现在知道了这个整数值为15000000,如何算RGB呢?
3 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
倒推。2**8 = 256, 2**16 = 65536。所以10511410 右移 16位就是b的值, 然后减去这个b的值,再右移8就是g的值,然后减去g的值,就是r的值
10511410 >> 16 = 160
(10511410 - 160*2**16) >> 8 == 100
10511410 - 160*2*16 - 100*2*8 = 50
HUWWW
TA贡献1874条经验 获得超12个赞
1.用位操作
R = (RGB&0xFF0000)>>16
G = (RGB&0xFF00)>>8
B = RGB&0xFF
2.整除
R = RGB/65536
temp = RGB%65536
G = temp/256
B = temp%256
- 3 回答
- 0 关注
- 419 浏览
添加回答
举报
0/150
提交
取消