Bonjour,
Je vous propose un nouvel élément à utiliser : Convertisseur codage couleur HTML/Hexadécimale et inversement
Un petit outil et quelques formules pour convertir les couleurs d'une page HTML en couleurs utilisables pour les contrôles/composants que l'on utilise sous VB6, et pourquoi pas inversement.
'***************** Différence de codage couleurs HTML et Hexadécimale *************************
Postula, la lecture des codages est faite de gauche à droite
Sous VB6, tous les composants/contrôles permettant un choix de couleurs peut être paramétré en hexadécimale.
Lorsque l'on veut utiliser une couleur provenant d'une page HTML, il faut savoir que les composantes
Rouge et Bleu sont inversées vis à vis du codage Hexadécimale utilisé sous VB6
Une couleur Hexadécimale sous VB6 est exprimée par 4x2 caractères
Chaque groupe de 2 caractères vont de 00 à FF (0 à 255 en décimale), sauf le 1° groupe.
le groupe 1 est utilisé pour différencier les couleurs "système" ou "palette"
Pour le cas couleurs "système", le groupe 2 et 3 sera toujours égal à 00 et le groupe 4 peut prendre 24 valeurs de 00 à 18
Exemple pour une couleur "Sommet du bouton": 80 00 00 0F (&H8000000F), "En surbrillance": 80 00 00 0D (&H8000000D)
A savoir qu'un même code couleur "système" ne garantie pas une même couleur d'un ordinateur à un autre.
Pour le cas couleurs "palette",
le groupe 1 vaut toujours 00
le groupe 2 représente la composante Bleu
le groupe 3 représente la composante Verte
le groupe 4 représente la composante Rouge
Exemple pour une couleur Rose soutenue: 00 8D 70 DF (&H008D70DF)
--------------------------------------------------------------------
Une couleur HTLM est exprimée par 3x2 caractères
Chaque groupe de 2 caractères vont de 00 à FF (0 à 255 en décimale)
le groupe 1 représente la composante Rouge
le groupe 2 représente la composante Verte
le groupe 3 représente la composante Bleu
Exemple pour une couleur Rose soutenue: DF 70 8D (#DF708D)
Les variables
vHTML: HTML Hexadécimale codée sur 3x2 caractères (#000000 à #FFFFFF) String
vHexa: Hexadécimale codée sur 4x2 caractères (&h00000000 à &h00FFFFFF) String
vDec: décimale (0 à 16777215) Long
HR: composante rouge Hexadécimale codée sur 1x2 caractères (00 à FF) String
HG: composante verte Hexadécimale codée sur 1x2 caractères (00 à FF) String
HB: composante bleu Hexadécimale codée sur 1x2 caractères (00 à FF) String
R: composante rouge décimale (0 à 255) Integer
G: composante verte décimale (0 à 255) Integer
B: composante Bleu décimale (0 à 255) Integer
les fonctions assossiées dans les formules:
Les formules utilisables sous VB6
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Private Function Hex2(Valeur As String) As String 'la fonction renvoie la valeur formatée sur 2 caractères If Len(Valeur) = 1 Then Hex2 = "0" & Valeur Else Hex2 = Valeur End Function Private Function Rouge(ByVal Couleur As Long) As Long 'La fonction renvoie la valeur de la composante rouge Rouge = Couleur - ((Bleu(Couleur) * 65536) + (Vert(Couleur) * 256)) End Function Private Function Vert(ByVal Couleur As Long) As Long 'La fonction renvoie la valeur de la composante verte Vert = Int((Couleur - (65536 * Bleu(Couleur))) / 256) End Function Private Function Bleu(ByVal Couleur As Long) As Long 'La fonction renvoie la valeur de la composante bleu Bleu = Int(Couleur / 65536) End Function
vHTML connue
HR = Left(vHTML, 2)
HG = Mid(vHTML, 3, 2)
HB = Right(vHTML, 2)
R = Cint("&h" & HR)
G = Cint("&h" & HG)
B = Cint("&h" & HB)
vDec = RGB(R, G, B)
vHexa = Right(vHTML, 2) & Mid(vHTML, 3, 2) & Left(vHTML, 2)
vHexa connue
HR = Right(vHexa, 2)
HG = Mid(vHexa, 3, 2)
HB = Left(vHexa, 2)
vHTML = HR & HG & HB
R = Cint("&h" & HR)
G = Cint("&h" & HG)
B = Cint("&h" & HB)
vDec = RGB(R, G, B)
vDec connue
R = Rouge(vDec)
G = Vert(vDec)
B = Bleu(vDec)
HR = Hex2(Hex(R))
HG = Hex2(Hex(G))
HB = Hex2(Hex(B))
vHexa = HB & HG & HR
vHTML = HR & HG & HB
HR,HG et HB connue
R = Cint("&h" & HR)
G = Cint("&h" & HG)
B = Cint("&h" & HB)
vDec = RGB(R, G, B)
vHexa = HB & HG & HR
vHTML = HR & HG & HB
R,G et B connue
vDec = RGB(R, G, B)
HR = Hex2(Hex(R))
HG = Hex2(Hex(G))
HB = Hex2(Hex(B))
vHexa = HB & HG & HR
vHTML = HR & HG & HB
Projet de demonstration
ConverCouleurs.zip (5Ko)
Qu'en pensez-vous ?
Partager