Extrahieren der rot, grün und blau ( RGB) Komponenten eines Farbcodes in Visual Basic 6.0 ( VB6 ) ist hilfreich bei der Umwandlung von Farbe Datenformate zwischen verschiedenen Programmen . VB6 bietet eine "RGB" -Funktion , um die Farben von ihren roten, grünen und blauen Komponenten in einen numerischen " Long" Datentyp zu konvertieren , aber es fehlt eine eingebaute Funktion , um in die andere Richtung zu konvertieren. Zusätzlich werden Farbcodes in VB6 gespeichert mit der Little-Endian- Format , dh Bytes im Speicher in umgekehrter Reihenfolge gespeichert werden. Auszug "RGB" Werte von Farbcodes , indem Sie eine Subroutine zu verarbeiten und konvertieren Sie die Codes automatisch für Sie. Anleitung
1
Öffnen Sie Ihre VB6 Datei in einem Editor , wie z. B. Microsoft Visual Studio 6.0 .
2
erstellen Unterprogramm einen VB6 Farbcode in seine roten, grünen konvertieren und blau-Komponenten , indem Sie den folgenden Code in die Datei :
Public Sub Hex2RGB ( lcolor As Long , r As Byte , g As Byte , b As Byte )
Dim HColor As String
Dim n As Byte Dim
strHexVal As String
strHexVal = Hex $ ( lcolor )
strHexVal = Right ( ( strHexVal ), 6)
Für n = 1 bis (6 - Len ( strHexVal ) )
HColor = HColor & "0"
Weiter
HColor = HColor & strHexVal
r = CByte ( " & H " & Right $ ( HColor , 2) )
g = CByte ( " & H " & Mid $ ( HColor , 3, 2 ) )
b = CByte ( " & H " & Left $ ( HColor , 2) ) End Sub
Der Farbcode von " Long" auf " Hex" für eine einfachere Verarbeitung umgewandelt wird. Der "rechte ( ( strHexVal ), 6) "-Befehl beseitigt keine zusätzlichen Zeichen am Anfang der Zeichenfolge wie " & H. " Die " for"-Schleife addiert 0 die vor jeder Charakter , keine Formatierung Probleme zu beheben. VB6 verwendet Little-Endian- Farbwerte zu speichern , so dass die "RGB" Bytes, die tatsächlich in umgekehrter als gespeicherte " BBGGRR . " Der Code verwendet die " CByte "-Funktion , um die Zeichenfolge gespalten , um die roten , grünen und blauen Werte abrufen und speichern sie jeweils als "Byte ".
3
Variablen deklarieren , stellen ein Farbe und rufen Sie dann die Subroutine den Farbcode , indem Sie den folgenden Code in Ihrer Funktion zu konvertieren:
Dim r , g, b As Byte Dim
lcolor As Long
lcolor = RGB (11, 200 , 25)
Anruf Hex2RGB ( lcolor , r, g, b)
4
Speichern Sie die VB6 -Datei, kompilieren und starten Sie das Programm zum konvertieren Farbcode .