Come estrarre RGBs in VB6

December 4

Estrazione dei componenti rosso, verde e blu (RGB) di un codice colore in Visual Basic 6.0 (VB6) è utile per la conversione di formati di dati di colore tra i diversi programmi. VB6 fornisce una funzione "RGB" per convertire i colori da loro componenti rossa, verde e blu in un tipo di dati "Long" numerica, ma manca qualsiasi funzione incorporata per convertire nell'altra direzione. Inoltre, i codici di colore in VB6 sono memorizzati utilizzando il formato Little Endian, byte significato sono immagazzinati nella memoria in ordine inverso. Estrarre i valori "RGB" da codici di colore con l'aggiunta di una subroutine per elaborare e convertire automaticamente i codici per voi.

istruzione

1 Aprire il file VB6 in un editor, ad esempio Microsoft Visual Studio 6.0.

2 Creare una subroutine per convertire un codice di colore VB6 nelle sue componenti rosso, verde e blu aggiungendo il seguente codice nel file:

Public Sub Hex2RGB (lcolor As Long, R come Byte, g As Byte, B come Byte)

Dim HColor As String

Dim n As Byte

Dim strHexVal As String

strHexVal = Hex $ (lcolor)

strHexVal = Right ((strHexVal), 6)

Per n = 1 A (6 - Len (strHexVal))

HColor = HColor e "0"

Il prossimo

HColor = HColor & strHexVal

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

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

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

End Sub

Il codice colore viene convertito da "Long" per "Hex" per l'elaborazione più facile. Il "diritto ((strHexVal), 6)" comando elimina tutti i caratteri in più all'inizio della stringa, ad esempio "& H". Il ciclo "per" aggiunge 0 di prima di ogni carattere di risolvere gli eventuali problemi di formattazione. VB6 utilizza little endian per memorizzare i valori di colore in modo che i byte "RGB" sono in realtà memorizzati in senso inverso come "BBGGRR." Il codice utilizza la funzione "CByte" per dividere a parte la stringa per recuperare i valori di rosso, verde e blu e ogni punto vendita come un "byte".

3 Dichiarare le variabili, impostare un colore e quindi chiamare la subroutine per convertire il codice del colore aggiungendo il seguente codice nella funzione:

Dim r, g, b As Byte

Lcolor Dim As Long

Lcolor = RGB (11, 200, 25)

Chiamare Hex2RGB (lcolor, r, g, b)

4 Salvare il file VB6, compilare ed eseguire il programma per convertire il codice colore.