如何把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,结果和上面一样

你可能感兴趣的:(返回值)