Rubrik: Grafik und Font · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 06.09.02 |
VB-Farbwert nach HTML-Farbcode und umgekehrt Zwei Funktionen, mit denen sich VB-Farbwerte in den äquivalenten HTML-Farbcode und umgekehrt umwandeln lassen. | ||
Autor: Dieter Otter | Bewertung: | Views: 19.238 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Heute möchten wir Ihnen drei Funktionen vorstellen, mit denen sich VB-Farbwerte (RGB/Long) in den äquivalenten HTML-Farbcode umwandeln lassen oder umgekehrt auch HTML-Farbwerte nach VB.
Um einen RGB-Farbwert in den korrekten HTML-Farbcode umzuwandeln braucht man lediglich die Rot-/Grün und Blau-Anteile in den entsprechenden Hexwert umzusetzen:
' RGB nach HTML Public Function RGB2HTML(ByVal iRed As Integer, _ ByVal iGreen As Integer, _ ByVal iBlue As Integer) As String RGB2HTML = CHex(iRed, 2) + CHex(iGreen, 2) + CHex(iBlue, 2) End Function
' Hilfsfunktion, um eine Dezimalzahl ' in den entsprechenden Hexwert umzuwandeln Private Function CHex(ByVal nValue As Long, _ Optional ByVal nDigits As Integer = 0) As String Dim sHex As String sHex = Hex$(nValue) If nDigits > 0 And Len(sHex) < nDigits Then sHex = String$(nDigits - Len(sHex), "0") + sHex End If CHex = sHex End Function
Der nächste Schritt ist das Umwandeln eines Long-Farbwertes in den HTML-Farbcode. Hierzu zerlegen wir den Longwert in seine RGB-Farbwerte und nutzen obige RGB2HTML-Funktion.
' Long-Farbwert nach HTML Public Function VBColor2HTML(ByVal lColor As Long) As String Dim iRed As Integer Dim iGreen As Integer Dim iBlue As Integer iRed = lColor And &HFF& iGreen = lColor \ &H100& And &HFF& iBlue = lColor \ &H10000 And &HFF& VBColor2HTML = RGB2HTML(iRed, iGreen, iBlue) End Function
So, fehlt jetzt noch das Umwandeln eines HTML-Farbcodes zurück in einen VB-Farbwert (Long):
' HTML-Farbcode nach Long Public Function HTML2VBColor(ByVal sHTML As String) As Long Dim lngDezimal As Long If Left$(sHTML, 1) = "#" Then sHTML = Mid$(sHTML, 2) HTML2VBColor = RGB(CLng("&H" + Mid$(sHTML, 1, 2)), _ CLng("&H" + Mid$(sHTML, 3, 2)), _ CLng("&H" + Mid$(sHTML, 5, 2))) End Function