Adapter une couleur en couleur web

Description

voila en fait c'est tout simple :

les couleurs web sont des multiples de 51 il suffit juste de faire une petite opération pour rétablir une valeur en multiple le plus proche, cette opération répétée pour les 3 composantes R V B et on a la couleur finale

Source / Exemple :


Private Sub Command1_Click()
Decompose Picture1.BackColor, R, v, b

'VOILA LES OPERATIONS QUI NOUS INTERESSE
R = CInt(R / 51) * 51
v = CInt(v / 51) * 51
b = CInt(b / 51) * 51
Picture2.BackColor = RGB(R, v, b)
Label3 = "R = " & R & "   V = " & v & "   B = " & b
End Sub

Private Sub Picture1_Click()
Com1.ShowColor
Picture1.BackColor = Com1.Color
Decompose Picture1.BackColor, R, v, b
Text1(0) = R
Text1(1) = v
Text1(2) = b
End Sub

Private Sub Text1_Change(Index As Integer)
On Local Error Resume Next
Picture1.BackColor = RGB(Val(Text1(0)), Val(Text1(1)), Val(Text1(2)))
End Sub

'cette procédure decompose la couleur en R,V,B
Public Sub Decompose(Couleur, R, v, b)
R = Int(Couleur Mod 256)
v = Int((Couleur - R) / 256 Mod 256)
b = Int((Couleur - R) / 256 / 256)
Verif R, v, b
End Sub

'procédure qui verifi les limites des composantes de la couleur rvb
Public Sub Verif(R, v, b)
If R < 0 Then R = 0
If v < 0 Then v = 0
If b < 0 Then b = 0
If R > 255 Then R = 255
If v > 255 Then v = 255
If b > 255 Then b = 255
End Sub

Conclusion :


voila, j'ai aussi mis le code pour avoir l'algo dans la compil, comme ca ca evite d'avoir besoin de se connecter.

Codes Sources

A voir également

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.