Extraire le rouge, vert et bleu composantes (RVB) d'un code de couleur dans Visual Basic 6.0 ( VB6 ) est utile lors de la conversion des formats de données de couleurs entre les différents programmes . VB6 dispose d'une fonction "RVB" pour convertir les couleurs de leurs composantes rouge , vert et bleu dans un "Long" type de données numérique, mais dépourvu de toute fonction intégrée pour convertir dans l'autre sens . En outre, les codes de couleur dans VB6 sont stockés en utilisant le format little endian , ce qui signifie octets sont stockés en mémoire dans l'ordre inverse . Extrait valeurs "RVB" de codes de couleur en ajoutant un sous-programme pour traiter et convertir les codes automatiquement pour vous. Instructions
1
Ouvrez votre fichier VB6 dans un éditeur tel que Microsoft Visual Studio 6.0 .
2
Créer un sous-programme pour convertir un code de couleur VB6 dans son rouge, vert et bleue en ajoutant le code suivant dans votre fichier : Photos
public Sub Hex2RGB ( lcolor As Long , r As Byte , g As Byte , b As Byte )
HColor Dim As String < br >
Dim n As Byte
strHexVal Dim As String
strHexVal = Hex $ ( lcolor )
strHexVal = Droite ( ( strHexVal ) , 6)
Pour n = 1 To ( 6 - Len ( strHexVal ) )
HColor = HColor et "0"
Suivant
HColor = HColor & strHexVal
r = CByte ("& H" & Right $ ( HColor , 2))
g = CByte ("& H " & Mid $ ( HColor , 3, 2 ) )
b = CByte ("& H " & Left $ ( HColor , 2))
End Sub
Le code couleur est converti de "Long" à "Hex" pour faciliter le traitement . La commande " Droite ( ( strHexVal ) , 6)" élimine les caractères supplémentaires au début de la chaîne comme " & H. " La boucle "for" ajoute des 0 avant chaque caractère pour résoudre tous les problèmes de formatage. VB6 utilise little endian pour stocker des valeurs de couleur pour les octets "RVB" sont stockés dans le sens inverse comme " BBGGRR . " Le code utilise la fonction " CByte " pour partager en dehors de la chaîne pour récupérer les valeurs de rouge , vert et bleu et les stocker chacun comme un « Byte ».
3
déclarer des variables , a établi un couleur, puis appeler le sous-programme pour convertir le code de couleur en ajoutant le code suivant dans votre fonction :
Dim r , g, b As Byte
lcolor As long
lcolor = RGB (11, 200 , 25)
Appel Hex2RGB ( lcolor , r, g, b )
4
Enregistrez le fichier VB6, compiler et exécuter le programme pour convertir l' code couleur .