Accueil > > > CONVERSIONS COULEUR / RVB / HSI (OPTIMISÉ)
CONVERSIONS COULEUR / RVB / HSI (OPTIMISÉ)
Information sur la source
Description
Conversions Variable_Couleur / Rouge_Vert_Bleu / Hue_Saturation_Intensité dans tous les sens (Module + exemple) ############################## Un peu de théorie... ############################## Une couleur peut être codée principalement de 3 façons différentes : COULEUR, RVB, et HSI 1°) La COULEUR elle-même sur 24 bits, soit 16 millions de couleurs (exatement 16777216) - 8 bits rouge - 8 bits vert - 8 bits bleu 2°) Ses 3 composantes RVB (Rouge, Vert, Bleu) ou RGB en anglais (Red, Green, Blue) - R - Rouge de 0 à 255, soit 256 niveaux de rouge - V - Vert de 0 à 255, soit 256 niveaux de vert - B - Bleu de 0 à 255, soit 256 niveaux de bleu Combinaisons des 3 = 256*256*256 = 16 milions de couleurs (le compte est bon) Couleur = (((bleu x 256) + vert) x 256) + rouge = rouge + (256 x vert) + (65536 x bleu) 3°) Sa correspondance HSI (Hue*, Saturation, Intensity) en anglais Abréviation française souvent utilisée : TSL (Teinte, Saturation, Luminosité) (* prononcer "YOU") - H : Hue = Teinte - S : Saturation = Saturation - I : Intensity = Luminosité La Teinte (HUE) correspond à la couleur dominante : Valeurs de 0 à 239 : - 0 = rouge - 20 = orange (rouge + un peu de vert) - 40 = jaune (rouge + vert) - 80 = vert - 120 = bleu ciel (vert + bleu) - 160 = bleu - 200 = violet (bleu + rouge) - 239 = presque rouge Exemple : Teinte ROUGE (valeur 0) et ses variations de Saturation et de Luminosité : - rouge (rouge) - rouge foncé (marron) - rouge très foncé (noir) - rouge clair (rose) - rouge très clair (blanc) - rouge pâle (gris) La Saturation (SATURATION) correspond contraste de couleur : Valeur de 0 à 240 : - 0 : Vous avez encore une télé en noir et blanc ?! - 240 : Attention les yeux ! La Luminosité (INTENSITY) est la notion de sombre ou clair : Valeur de 0 à 240 : - 0 : Qui a éteint la lumière ?! - 220 : Vive les lunettes de soleil ! - 240 : Blanc. - 120 : Là, c'est beaucoup mieux. ##################### En pratique ##################### "Couleur.bas" est un module comportant toutes les fonctions de conversions de couleurs dont vous aurez besoin. "Couleur_RVB_HSI.vbp" est une petite application pédagogique utilisant mon module Couleur.bas. Résolution minimum : 800 x 600 Le but : comprendre le principe de conversion RVB <-> HSI
Source
- Call Fichier_Zip("Rien de tel qu'une bonne démo !")
-
- '################################################################
- '
- ' UTILISATION DES 4 FONCTIONS SUIVANTES (by Columbiad)
- '
- ' - Couleur_2_RVB()
- ' - Couleur_2_HSI()
- ' - RVB_2_HSI()
- ' - HSI_2_RVB()
- '
- '################################################################
- '
- 'Voici toutes les conversions possibles en une seule ligne :
- '-----------------------------------------------------------
- '
- 'A PARTIR D'UNE COULEUR :
- '------------------------
- 'Convertir une COULEUR en R,V,B :
- ' Call Couleur_2_RVB(COULEUR, R, V, B)
- ' ou
- ' Couleur_2_RVB COULEUR, R, V, B
- '
- 'Convertir une COULEUR en H,S,I :
- ' Call Couleur_2_HSI(COULEUR, H, S, I)
- ' ou
- ' Couleur_2_HSI COULEUR, H, S, I
- '
- 'Convertir une COULEUR en H,S,I et en R,V,B :
- ' Call Couleur_2_HSI(COULEUR, H, S, I, R, V, B)
- ' ou
- ' Couleur_2_HSI COULEUR, H, S, I, R, V, B
- '
- '
- 'A PARTIR DES COMPOSANTES RVB :
- '------------------------------
- 'Convertir R, V, B en COULEUR :
- ' COULEUR = RGB(R, V, B)
- '
- 'Convertir R,V,B en H,S,I :
- ' Call RVB_2_HSI(R, V, B, H, S, I)
- ' ou
- ' RVB_2_HSI R, V, B, H, S, I
- '
- 'Convertir R,V,B en H,S,I et en COULEUR :
- ' COULEUR = RVB_2_HSI(R, V, B, H, S, I)
- '
- '
- 'A PARTIR DE LA CORRESPONDANTE HSI :
- '-----------------------------------
- 'Convertir HSI en COULEUR :
- ' COULEUR = HSI_2_RVB(H, S, I)
- '
- 'Convertir HSI en RVB :
- ' Call HSI_2_RVB(H, S, I, R, V, B)
- ' ou
- ' HSI_2_RVB H, S, I, R, V, B
- '
- 'Convertir HSI en RVB et en COULEUR :
- ' COULEUR = HSI_2_RVB(H, S, I, R, V, B)
- '
- End
Call Fichier_Zip("Rien de tel qu'une bonne démo !")
'################################################################
'
' UTILISATION DES 4 FONCTIONS SUIVANTES (by Columbiad)
'
' - Couleur_2_RVB()
' - Couleur_2_HSI()
' - RVB_2_HSI()
' - HSI_2_RVB()
'
'################################################################
'
'Voici toutes les conversions possibles en une seule ligne :
'-----------------------------------------------------------
'
'A PARTIR D'UNE COULEUR :
'------------------------
'Convertir une COULEUR en R,V,B :
' Call Couleur_2_RVB(COULEUR, R, V, B)
' ou
' Couleur_2_RVB COULEUR, R, V, B
'
'Convertir une COULEUR en H,S,I :
' Call Couleur_2_HSI(COULEUR, H, S, I)
' ou
' Couleur_2_HSI COULEUR, H, S, I
'
'Convertir une COULEUR en H,S,I et en R,V,B :
' Call Couleur_2_HSI(COULEUR, H, S, I, R, V, B)
' ou
' Couleur_2_HSI COULEUR, H, S, I, R, V, B
'
'
'A PARTIR DES COMPOSANTES RVB :
'------------------------------
'Convertir R, V, B en COULEUR :
' COULEUR = RGB(R, V, B)
'
'Convertir R,V,B en H,S,I :
' Call RVB_2_HSI(R, V, B, H, S, I)
' ou
' RVB_2_HSI R, V, B, H, S, I
'
'Convertir R,V,B en H,S,I et en COULEUR :
' COULEUR = RVB_2_HSI(R, V, B, H, S, I)
'
'
'A PARTIR DE LA CORRESPONDANTE HSI :
'-----------------------------------
'Convertir HSI en COULEUR :
' COULEUR = HSI_2_RVB(H, S, I)
'
'Convertir HSI en RVB :
' Call HSI_2_RVB(H, S, I, R, V, B)
' ou
' HSI_2_RVB H, S, I, R, V, B
'
'Convertir HSI en RVB et en COULEUR :
' COULEUR = HSI_2_RVB(H, S, I, R, V, B)
'
End
Conclusion
PS : Vous trouverez parfois la SATURATION ou l'INTENSITE en pourcentages (valeurs de 0 à 100) -> Il vous suffira de les multiplier par 2,4 avant de les utiliser.
Historique
- 08 décembre 2007 11:54:31 :
- petite mise en page
- 08 décembre 2007 11:56:58 :
- petite mise en page
- 08 décembre 2007 12:09:34 :
- petite mise en page
- 08 décembre 2007 12:16:26 :
- petite mise en page
- 08 décembre 2007 12:21:53 :
- petite mise en page
- 08 décembre 2007 12:52:20 :
- Ajout capture d'écran
- 08 décembre 2007 16:14:04 :
- Petite modif de description : merci WINDOB (^-^)
- 08 décembre 2007 16:16:38 :
- Petite modif de description : merci WINDOB (^_^)
- 08 décembre 2007 16:40:04 :
- petite mise en page
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
[?] Couleur RGB et luminosité [ par Ghislain ]
Bonjour à tous,Je cherche à récupérer à partir d'une couleur (rgb ou long) la valeur des trois composantes de luminosité, teinte et contraste.Une idée
conversion couleurs RGB <-> teinte luminosité... [ par jannoman ]
Salut !J'aimerais savoir comment est codé une couleur avec teinte luminosité... en RGB ou de 1 à 16 millionsMerci.A+.Thomas.
Définir la couleur d'un texte en fonction du fond [ par daddycool76 ]
Bonjour à tous,Une petite question :Etant donné que dans mon application la couleur de fond est choisie par l'utilisateur (donc variable) ,existe-t-il
Retrouver une couleur : teinte avec nombre décimal [ par exeriale ]
Bonjour,J'ai un soft qui pour des couleur données web HEXA les stock sous forme de nombre à décimalexemple : #000066 donneés stockée : blue : 0.4117
Rechercher les cellules contenant une meme valeur dans dans une feuille et les colorier de la meme couleur [ par nasilo ]
Bonjour,A l'aide de VBA, j'essaie de colorier de la même couleur des cellules qui ont une même valeur dans une base de données excel 2003. Voici le co
[Excel] Macro permettant de compter des cellules d'une certaine couleur [ par Feyloki ]
Bonjour,Je suis actuellement sur la réalisation d'un tableau excel.Chaque ligne de cellules a trois état différents:-Les cellules entièrement vide, qu
Verouiller certaines cellules en fond de couleur [ par fgassmann ]
Bonjour à tous,Voici mon problème:Je dipose d'un classeur dans lequel j'ai plusieurs onglets.J'aimerais verouiller toutes les cellules qui ne sont pas
Changer la couleur d'un scrollBar [ par jytest ]
Bonsoir à tous.Me voilà encore avec un souci pas très gros...mais avoir la solution m'aiderait cependant...J'ai recherché dans tout le forum etje n'ai
Couleur RVB sur 6 ou 8 digits ??? [ par jytest ]
Bonjour,j'ai une couleur RVB(Rouge = 250, Vert = 231, Bleu = 136),c'est un jaune pâle,que je veux convertir en hexa...Par tous les convertisseur (sur
|
Derniers Blogs
[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc
Forum
RE : VITESSERE : VITESSE par ossama261988
Cliquez pour lire la suite par ossama261988
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|