Rubrik: Grafik und Font · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 16.07.01 |
Long-Farbwert nach HTML-Farbwert umwandeln Dieser Tipp zeigt, wie sich ein Long-Farbwert in den entsprechenden HTML-Farbcode umwandeln lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 15.348 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Programmieren Sie gerade einen HTML-Editor oder ähnliches? Dann sind Sie sicherlich auch schon auf das Problem gestossen, wie sich ein normaler Long-Farbwert in den entsprechenden HTML-Farbcode umwandeln lässt. Der HTML-Farbcode besteht hierbei aus der hexadezimalen Darstellung der drei Grundfarben Rot, Grün und Blau. Also muss man den Long-Farbwert zunächst in den entsprechenden RGB-Farbwert umwandeln. Wie das geht, zeigt der Tipp Long-Farbwerte in RGB-Farbwerte splitten. Nun braucht man ja nur noch die einzelnen Farben (Rot, Grün und Blau) in ihren Hexadezimal-Code umzuwandeln:
' Tipp: Long-Farbwerte in RGB-Farbwerte splitten ' ============================================== ' Farbanteil ROT Private Function ColorRed(ByVal Color As Long) As Integer ColorRed = Color And &HFF& End Function ' Farbanteil GRÜN Private Function ColorGreen(ByVal Color As Long) As Integer ColorGreen = Color \ &H100& And &HFF& End Function ' Farbanteil BLAU Private Function ColorBlue(ByVal Color As Long) As Integer ColorBlue = Color \ &H10000 And &HFF& End Function ' Long-Farbwert in HTML-Farbwert umwandeln ' ======================================== Public Function ColorToHTML(ByVal Color As Long) As String Dim cRed As String Dim cGreen As String Dim cBlue As String cRed = Hex$(ColorRed(Color)) cGreen = Hex$(ColorGreen(Color)) cBlue = Hex$(ColorBlue(Color)) If Len(cRed) < 2 Then cRed = "0" & cRed If Len(cGreen) < 2 Then cGreen = "0" & cGreen If Len(cBlue) < 2 Then cBlue = "0" & cBlue ColorToHTML = "#" & cRed & cGreen & cBlue End Function
Beispiel:
Im nachfolgenden Beispiel wird die Farbe, welche über den Standard-Farbauswal-Dialog gewählt wird, in den entsprechenden HTML-Farbcode umgewandelt.
Private Sub cmdColor_Click() On Local Error Resume Next With CommonDialog1 .CancelError = True .ShowColor If Err = 0 Then MsgBox "HTML-Farbcode: " & ColorToHTML(.Color) End If End With End Sub