Extrahera den röda , gröna och blå ( RGB ) komponenter i en färgkod i Visual Basic 6.0 ( VB6 ) är till hjälp vid konvertering färg dataformat mellan olika program . VB6 ger en " RGB " -funktion för att konvertera färger från sina röda , gröna och blå komponenterna i en numerisk " Long " datatyp , men saknar inbyggd funktion för att konvertera åt andra hållet . Dessutom är färgkoder i VB6 lagras med little endian format, dvs bytes lagras i minnet i omvänd ordning . Utdrag "RGB" värden från färgkoder genom att lägga till en subrutin för att bearbeta och omvandla koderna automatiskt åt dig . Instruktioner
1
Öppna din VB6 filen i en editor , exempelvis Microsoft Visual Studio 6.0 .
2
Skapa en subrutin för att konvertera en VB6 färgkod i sin röda , gröna och blå komponenter genom att lägga till följande kod i din fil :
Public Sub Hex2RGB ( LColor As Long , r som byte , g som byte , b Som byte ) katalog
Dim HColor As String
Dim n Som byte
Dim strHexVal As String
strHexVal = Hex $ ( LColor ) katalog
strHexVal = Höger ( ( strHexVal ) , 6 ) katalog
För n = 1 till ( 6 - Len ( strHexVal ) ) katalog
HColor = HColor & " 0 "
Nästa
HColor = HColor & strHexVal
r = CByte ( " & H " & Right $ ( HColor , 2 ) ) katalog
g = CByte ( " & H " & Mid $ ( HColor , 3 , 2 ) ) katalog
B = CByte ( " & H " & Vänster $ ( HColor , 2 ) ) katalog
End Sub
färgkod omvandlas från " Long " till " Hex " för enklare bearbetning . Den " Right ( ( strHexVal ) , 6 ) " kommandot eliminerar eventuella extra tecken i början av strängen , t.ex. " & H. " Den " För " loop tillägger 0 s före varje tecken för att åtgärda eventuella formateringsproblem . VB6 använder little endian att lagra färgvärden så "RGB" bytes faktiskt lagras i omvänd som " BBGGRR . " Koden använder " Cbyte " -funktionen för att dela isär strängen för att hämta de röda , gröna och blå värden och lagra dem var som ett " byte ".
3
Deklarera variabler , som en färg och sedan ringa subrutinen för att omvandla färgkoden genom att lägga till följande kod i din funktion :
Dim R , g, B som byte
Dim LColor As Long
LColor = RGB ( 11 , 200 , 25 ) katalog
Call Hex2RGB ( LColor , r, g , b )
4
Spara VB6 fil , kompilera och köra programmet för att konvertera färgkod .