#红绿蓝颜色编码RGB

# 1.红绿蓝三色每个色调的度数按强弱分成0-255个度,三个颜色各用八位表示共占24位,一个整数 占四字节(byte)共32bit,舍弃前八位用后八位刚好可以表示一个红、绿、蓝各颜色配兑的编码。所以刚好可以用一个整数表示一个有颜色的图片。

# 2.要提取红、绿、蓝各自的度数,只需提取对应八位二进制转换为十进制,可以采用移位法获得,左侧无数时,直接右移留下需要的那八位取成二进制,左侧有数时先做移把对应二进制之前的部分挤出,然后左移剩下想要的那八位转换成二进制,

# 3左移后又右移时注意,左移后再右移可能会把左边最高当成符号位当负数输出,要做无符号右移

#  4.拆分各颜色编码:可以采取与0和1组成的编码与之相与去掉有效位之外的1,然后左移剩下需要的几位编码转换成十进制就行,相与时选和原序列相同的01编码,将需要保留的位对应的位全设为一,其余全设为零,然后与原系列相与,然后就可的到头尾带零的小目标系列,然后左移直到剩下想要的系列即可

#5.合并各颜色编码:将红色编码放在高24-16位其余位设为1,与全1的32位系列相与得第一个系列,然后将15-8的系列设为绿的的编码其余全设成一得到32位二进制系列,与第一个系列相与得到第二序列,在将7-1位设为蓝色编码,其余全设为1,然后与第二个序列相与得到第三个系列。然后把第三个系列前八位置零即可得到对应的红绿蓝组成的编码,转成对应十进制就可以的到对应的颜色代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值