Module fonctionsrvb

Soyez le premier à donner votre avis sur cette source.

Vue 4 153 fois - Téléchargée 259 fois

Description

Divers fonctions pour traiter une couleur RVB :
Plus claire plus, plus foncée,niveau de rouge de vert ou de bleu de la couleur,niveau de gris...

Source / Exemple :


'FonctionsRVB

'renvoi le niveau de Rouge contenu dans le Rvb
Public Function Rouge(Rvb As Long) As Long
Rouge = Rvb And &HFF&
End Function

'renvoi le niveau de Vert contenu dans le Rvb
Public Function Vert(Rvb As Long) As Long
Vert = Rvb And &HFF00&
End Function

'renvoi le niveau de Bleu contenu dans le Rvb
Public Function Bleu(Rvb As Long) As Long
Bleu = Rvb And &HFF0000
End Function

'renvoi l'inverse du Rvb
Public Function Inverse(Rvb As Long) As Long
Inverse = Rvb Xor &HFFFFFF
End Function

'renvoi le niveau de gris du Rvb
Public Function Gris(Rvb As Long) As Long
Dim Moyenne As Long
Moyenne = (Rouge(Rvb) + (Vert(Rvb) / 256) + (Bleu(Rvb) / 65536)) / 3
Gris = RGB(Moyenne, Moyenne, Moyenne)
End Function

'renvoi le Rvb en plus clair (+1 par couleurs)
Public Function PlusClair(Rvb As Long) As Long

Dim R As Long, V As Long, B As Long
Dim Limite As Boolean

R = Rouge(Rvb)
R = R + 1
If R > &HFF& Then R = &HFF&: Limite = True

V = Vert(Rvb)
V = V + &H100&
If V > &HFF00& Then V = &HFF00&: Limite = True

B = Bleu(Rvb)
B = B + &H10000
If B > &HFF0000 Then B = &HFF0000: Limite = True

If Limite = False Then PlusClair = R + V + B Else PlusClair = Rvb

End Function

'renvoi le Rvb en plus foncé(-1 par couleurs)
Public Function PlusFoncé(Rvb As Long) As Long

Dim R As Long, V As Long, B As Long
Dim Limite As Boolean

R = Rouge(Rvb)
R = R - 1
If R < 0 Then R = 0: Limite = True

V = Vert(Rvb)
V = V - &H100&
If V < 0 Then V = 0:: Limite = True

B = Bleu(Rvb)
B = B - &H10000
If B < 0 Then B = 0:: Limite = True

If Limite = False Then PlusFoncé = R + V + B Else PlusFoncé = Rvb

End Function

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
2167
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
1
Génial, c'est du clair et net merci !!
10
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
salut,
çà fait plus d'une heure et demi que je cherche cette ligne
Inverse = Rvb Xor &HFFFFFF

Merci!!!
PCPT [AFCK]
Messages postés
10
Date d'inscription
dimanche 2 juin 2002
Statut
Membre
Dernière intervention
12 août 2003

Sérieusement terrible j'me demandais comment faire pour inverser une couleur et là ça me trou le cul. Vraiment exellent.

J'note 10

a+

tres exellent code, j'ai noté 10.
a mon avis ceux qui ont mis 1 n'ont pas vu l'interet !

@+

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.