VB中的涂色

资讯 驱动中国 若水 661 次阅读 0 条评论
分享 Q

VB provides an easy RGB function to convert three colours into a RGB colour code. However, it provides no way of converting it back to the three colours. It also provides no support for HTML colour codes used on web pages. We decided to write some functions to convert HTML colour codes to and from RGB codes, and also functions to break them back down into their constituent colours.

Public Const RedPart = 0

Public Const GreenPart = 1

Public Const BluePart = 2

Public Function HTML(Red As Integer, Green As Integer, Blue As Integer) As String

HTML = ""

If Len(Hex$(Red)) = 1 Then

HTML = HTML & "0" & Hex$(Red)

Else

HTML = HTML & Hex$(Red)

End If

If Len(Hex$(Green)) = 1 Then

HTML = HTML & "0" & Hex$(Green)

Else

HTML = HTML & Hex$(Green)

End If

If Len(Hex$(Blue)) = 1 Then

HTML = HTML & "0" & Hex$(Blue)

Else

HTML = HTML & Hex$(Blue)

End If

End Function

Public Function UnRGB(RGBCol As Long, Part As Integer) As Integer

注释:Part: 0=Red, 1=Green, 2=Blue

Select Case Part

Case 0

UnRGB = RGBCol And &HFF

注释:mask 000000000000000011111111 and shift bits right

Case 1

UnRGB = (RGBCol And &HFF00) / &HFF

注释:mask 000000001111111100000000 and shift bits right

Case 2

UnRGB = (RGBCol And &HFF0000) / &HFFFF

注释:mask 111111110000000000000000 and shift bits right

End Select

End Function

Public Function UnHTML(HTMLCol As String, Part As Integer) As Integer

注释:Part: 0=Red, 1=Green, 2=Blue

Select Case Part

Case 0

UnHTML = (CLng("&H" & HTMLCol) And &HFF0000) / &HFFFF

注释:mask 111111110000000000000000 and shift bits right

Case 1

UnHTML = (CLng("&H" & HTMLCol) And &HFF00) / &HFF

注释:mask 000000001111111100000000 and shift bits right

Case 2

UnHTML = CLng("&H" & HTMLCol) And &HFF

注释:mask 000000000000000011111111 and shift bits right

End Select

End Function

Public Function RGB2HTML(RGBCol As Long) As String

RGB2HTML = HTML(UnRGB(RGBCol, RedPart),

UnRGB(RGBCol, GreenPart), UnRGB(RGBCol, BluePart))

End Function

Public Function HTML2RGB(HTMLCol As String) As Long

HTML2RGB = RGB(UnHTML(HTMLCol, RedPart), UnHTML(HTMLCol, _

GreenPart), UnHTML(HTMLCol, BluePart))

End Function

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友