Page personnelle de Rémy LUCAS
Utilisez le menu (la bande jaune à gauche) pour naviguer dans le site ! Programmation - Visual Basic
Que trouve-t-on ici ?
Paroles de chansons - 60's & 70's
Infos pratiques, montages à réaliser, et logiciels de calcul 'on line'...
Cours d'initiation - Codes sources
Cours d'initiation à VB
Mes codes sources
Trouver le nom d'une couleur à partir de ses composantes
Calculer une expression stockée dans une chaîne
Dessiner des diagrammes cammemberts
Afficher des nombres  en 'cristaux liquides'
Utiliser le port parallèle !
Jouer des fichiers WAV
Logiciels gratuits à télécharger ici !

Trouver le nom d'une couleur

Mode d'emploi
Le code
Explications

Mode d'emploi - Exemple

        En Visual Basic, une couleur est codée par un nombre entier compris entre 0 et 16777215. Pour y voir plus clair, il faut exprimer cet entier en Hexadécimal.

        L'hexadécimal corresponds à la base 16. Les "chiffres" de l'hexa sont : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Ainsi, le nombre hexadécimal "6B" corresponds au nombre décimal "107" (6*16 + 11).
        En VB il est tout à fait possible de manipuler les nombres en hexa (c'est d'ailleurs recommandé pour les couleurs); il suffit juste de taper "&h" avant le nombre hexa. Par exemple, les deux instructions suivantes affectent la même valeur à la variable "x" :
x=107
x=&h6B
        Au final, l'hexa est juste une convention d'AFFICHAGE, un nombre tapé sous la forme décimale sera stocké et traité par l'ordinateur DE LA MEME MANIERE qu'un nombre tapé sous la forme hexadécimale.

        Revenons à nos couleurs ! Donc une couleur est un nombre qui va de 0 à 16777215 c'est à dire de &h000000 à &hFFFFFF. Et c'est là que l'usage de l'hexa est très interessant. Les deux premiers chiffres hexa correspondent à la quantité de bleu, les deux du milieu à la quantité de vert, et les deux derniers à la quantité de rouge.
        On a donc couleur = &hBBVVRR, avec BB allant de &h00 à &hFF, avec VV allant de &h00 à &hFF, et avec RR allant de &h00 à &hFF
        Par exemple, la couleur &h38FFC0 contient &h38 de bleu, &hFF de vert, &hC0 de rouge.

        Alors que fait ma procédure ? Vous lui passez comme paramétre un nombre couleur (genre &h35AF0C), et elle vous retourne une chaîne contenant le nom de cette couleur !

        Exemple d'utilisation :
Dim Couleur as Long
Dim a$
Couleur = &H38FFC0
a$ = NomCouleur$(Couleur)
MsgBox a$
        On obtient le résultat suivant :
vert clair

Le code

        Comme vous le remarquez, il n'y a pas une mais 4 fonctions. En fait, la fonction NomCouleur$ a besoin de 3 fonction annexes. Chacune de ces fonctions annexes a pour rôle d'extraire d'un nombre de couleur la quantité de bleu (ExtractB) de vert (ExtractG) ou de rouge (ExtractR).

Explications

        Rien de compliqué ici !
        On extrait d'abord la quantité de chaque couleur élémentaire (Bleu, Vert, Rouge), puis on effectue une serie de tests de comparaisons pour trouver un nom de couleur adéquat.

Remonter en haut de la page Rémy LUCAS - (c) 2002