根据整数值得到RGB,如何实现?

习总 发布于 2013/08/21 11:52
阅读 191
收藏 0

已知RGB,得到整数很简单,如r=50, g=100, b=160,根据r + 256* + 65536*b算出来为10511410。

假如现在知道了这个整数值为15000000,如何算RGB呢?

 

加载中
1
LianyouCQ
LianyouCQ

倒推。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

1
ueharaai
ueharaai

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

0
bigtiger02
bigtiger02
转256进制即可。
返回顶部
顶部