|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
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.
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
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
Sources en rapport avec celle ci
Commentaires et avis
|
Téléchargements
Logiciels à télécharger sur le même thème :
|