如何把RGB函数的返回值还原成Red、Green、Blue


RGB函数就是(1*R+256*G+65536*B)




方法一:
colour=RGB(red,green,blue)
red=colour And  &HFF  
green= (Color  And  65280)  \  256  
blue=(Color  And  &HFF0000)  \  65536


方法二:  
Option  Explicit  
 
Private  Sub  Command1_Click()  
GetRGB  RGB(16,  39,  0)  
End  Sub  
Sub  GetRGB(ByVal  color  As  Long,  Optional  ByRef  red  As  Byte,  Optional  ByRef  green  As  Byte,  Optional  ByRef  blue  As  Byte)  
Dim  temp  As  String  
temp  =  Right("000000"  &  Hex(color),  6)  
red  =  "&H"  &  Right(temp,  2)  
green  =  "&H"  &  Mid(temp,  3,  2)  
blue  =  "&H"  &  Left(temp,  2)  
End  Sub  
 
---------------------------------------------------------------  
方法三:  
R  =  Color  And  &HFF&                    '通过和16进制数FF进行“与”操作取得低8位  
G=(Color\256)  And  &HFF&            '先右移8位,再取低8位,相当于原来的中间8位  
B  =  Col  \  65536          '右移16位,得到的8位,相当于原来的高8位  
 
还有一种写法:  
R  =  Color  Mod  256  
G  =  (Color\256)  Mod  256  
B  =  Color  \65536  
这种写法和上面的区别在于使用了“取余数”运算符Mod,结果和上面一样
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值