丑女无敌第4集完整版:颜色数值

来源:百度文库 编辑:高校问答 时间:2024/05/04 18:46:00
在VB里怎样进行对颜色数值的转换?
比如转成(R,G,B) 转成网页使用的16位代码
我是想在自己的软件里实现颜色代码的转换
怎样能够使用VB代码计算出来?
我对VB不是很懂,希望能够得到比较直接的代码

1、网页当中的颜色代码共6为,第1、2位表示红色,第2、3位表示绿色、第4、5位表示蓝,采取十六进制,由“00”到“FF”,分别对应十进制的“0”到“255”,数字的大小表示颜色的深浅,例如"#FF0000"表示红色、"#FFFF00"表示黄色等等。

2、VB中的RGB函数表示方法与网页中的颜色代码表示相似,都是使用R、G、B三种基色的组合来表示各种颜色,但RGB函数采用的是10进制,如RGB(255)表示红色、RGB(255,255,0)表示绿色

3、因此颜色互相转换其实就是16进制和10进制的互相转换。

4、以下一段16进制和10进制的转换代码
Dim DecimalInt As Double
Dim HexString As String

HexString = "FF"
Dim i As Integer
For i = 1 To Len(HexString)
TmpHexStr = Mid(HexString, i, 1)

If IsNumeric(TmpHexStr) Then
f1 = True
Else
f1 = False
End If

If (Asc(TmpHexStr) >= Asc("A") And Asc(TmpHexStr) <= Asc("F")) Then
f2 = True
Else
f2 = False
End If

If f1 Or f2 Then
If f1 Then '如果是数字
DecimalInt = DecimalInt + CInt(TmpHexStr) * 16 ^ (Len(HexString) - i)
Else '如果是字符
DecimalInt = DecimalInt + (Asc(TmpHexStr) - 55) * 16 ^ (Len(HexString) - i)
End If
Else
MsgBox "你输入的错误啦!!!"
Exit Sub
End If

Next

MsgBox DecimalInt

如果不明白还可以在问题补充当中提出~``大家相互学习

在面向对象的可视化下编程时遇到的颜色的设置都是程序自动处理,一般我们并不需要进行编码,只用选择而已.当然为了实现特效我们也在窗体下进行手动设置,它是采用的十六进制,你可以把颜色的表示值(即:#000000 ~#FFFFFF)直接拷进网页中使用,我以前已经这么做了.

我不懂VB但是你要把RGB值转成16位的话,应该要用到调色板

#000000 ~#ffffff

16进制,不用说了把!

或是下个制图软件~