用RGB()函数只要设置三基色各自的分量就可以返回一个LONG,那么有没有一个函数能设置一个LONG型值,而返回三个RGB分量呢?
解决方案 »
- 感恩节散分...
- 最后一次
- 100分!!百度搜索输入中文后,将中文转换成什么编码方式了?我觉得好象不是UTF8。
- ★ 完整的JPEG保存程序 与 高速在网络上传输图像程序
- 我想跟大家讨论一个编程的问题。
- VB题目求解答
- 心中有火!想散分求得一好心情!---一文读后有感!!啊。火!!!!
- 请教有关ADO方面的问题
- 这个问题怎么没人能解决呢?我已经拿出200分了,现在再拿出200分,望有能力的高手帮我解决!!!!!
- 连接ACCESS2000数据库的烦恼
- 用net命令 或 NetShareAdd 函数 怎样设置为只读共享
- SOS! vb如何访问web服务器上的acess数据库? 在线等!送100分!
lngRed = Int(RGBColor / 65536)
RGBColor = RGBColor - lngRed * 65536
'取出绿色的数值
lngGreen = Int(RGBColor / 256)
'剩下的是蓝色的数值
lngBlue = RGBColor - lngGreen * 256
Optional chooseDelimiter As String = ",") As StringDim Blue As Double, Green As Double, Red As Double
Dim BlueS As Double, GreenS As Double, RGBs As String Blue = Fix((Value / 256) / 256)
BlueS = (Blue * 256) * 256
Green = Fix((Value - BlueS) / 256)
GreenS = Green * 256
Red = Fix(Value - BlueS - GreenS)
RGBs = (Red & chooseDelimiter & Green & chooseDelimiter & Blue)
LongToRGB = RGBs
End Function
其实VB中没有现成的函数来处理它
你只要把一个数值作相应的运算,就可以得到三个颜色的long值。
'RGB值的结构
Public Type RGBValue
Red As Long
Green As Long
Blue As Long
End TypePublic Function GetRGB(RGBColor As Long) As RGBValue
'取出红色的数值
GetRGB.Blue = Int(RGBColor / 65536)
RGBColor = RGBColor - GetRGB.Blue * 65536
'取出绿色的数值
GetRGB.Green = Int(RGBColor / 256)
'剩下的是蓝色的数值
GetRGB.Red = RGBColor - GetRGB.Green * 256
End Function'调用方法
Dim typRGB As RGBValue
typRGB = GetRGB(CLng(strTemp))Debug.Print typRGB.Red
Debug.Print typRGB.Green
Debug.Print typRGB.Blue '
Debug.Print " "