Slik pakker du ut RGBS i VB6

Trekke de røde, grønne og blå (RGB) komponenter i en fargekode i Visual Basic 6.0 (VB6) er nyttig når du konverterer fargedataformater mellom ulike programmer. VB6 gir en "RGB" funksjon for å konvertere farger fra sine røde, grønne og blå komponentene i en numerisk "Long" datatype, men mangler noen innebygd funksjon for å konvertere i den andre retningen. I tillegg er fargekoder i VB6 lagret med lite endian format, noe som betyr bytes lagres i minnet i omvendt rekkefølge. Pakk "RGB" verdier fra fargekoder ved å legge til en subrutine å behandle og konvertere kodene automatisk for deg.

Bruksanvisning

1 Åpne VB6 filen i et redigeringsprogram, for eksempel Microsoft Visual Studio 6.0.

2 Lag en subrutine å konvertere en VB6 fargekode i sine røde, grønne og blå komponentene ved å legge til følgende kode i filen:

Public Sub Hex2RGB (LColor As Long, r As Byte, g As Byte, b As Byte)

Dim HColor As String

Dim n Som Byte

Dim strHexVal As String

strHexVal = Hex $ (LColor)

strHexVal = Right ((strHexVal), 6)

For n = 1 til (6 - Len (strHexVal))

HColor = HColor & "0"

neste

HColor = HColor & strHexVal

r = CByte ( "& H" & Right $ (HColor, 2))

g = CByte ( "& H" & Mid $ (HColor, 3, 2))

b = CByte ( "& H" & Left $ (HColor, 2))

End Sub

Fargekoden er konvertert fra "Long" til "Hex" for enklere behandling. Den "Right ((strHexVal), 6)" kommandoen fjerner noen ekstra tegn på begynnelsen av strengen som "& H." "For" loop legger 0-er før hver karakter å løse eventuelle formatering problemer. VB6 bruker lite endian å lagre fargeverdiene slik at "RGB" bytes faktisk lagret i revers som "BBGGRR." Koden bruker funksjonen "Cbyte" å splitte hverandre strengen for å hente de røde, grønne og blå verdier og lagre dem hver som en "Byte".

3 Erklærer variablene, sette en farge og deretter ringe subrutine å konvertere fargekode ved å legge til følgende kode i funksjon:

Dim r, g, b As Byte

Dim LColor As Long

LColor = RGB (11, 200, 25)

Ring Hex2RGB (LColor, r, g, b)

4 Lagre VB6 filen, kompilere og kjøre programmet for å konvertere fargekode.