Calcul de couleurs tsv

Description

Cette fonction permet de transformer les "coordonnées de couleurs" TSV (teinte,saturation,luminosité) en coordonnées RVB (le longword des couleurs VB)

Dans le fichier ZIP ya un exemple de projet mais c'est vraiment du pré-alpha 0.00! Juste pour moi à l'origine. Le bouton sert à afficher le comdlg de couleur pour pouvoir comparer.

Le tracé des couleurs est long parce qu'il y a un DoEvents à chaque colonne dessinée.

Source / Exemple :


Function tsv(teinte, saturation, valeur)
t = teinte
s = saturation
l = valeur
t = t Mod 240
r = 0
v = 0
b = 0
If t <= 40 Then r = 255: b = 0: v = 255 * t / 40
If t > 40 And t <= 80 Then b = 0: v = 255: r = (-255 * t / 40) + 510
If t > 80 And t <= 120 Then v = 255: b = (255 * t / 40) - 510: r = 0
If t > 120 And t <= 160 Then b = 255: v = (-255 * t / 40) + 1020: r = 0
If t > 160 And t <= 200 Then b = 255: r = (255 * t / 40) - 1020: v = 0
If t > 200 And t <= 240 Then r = 255: v = 0: b = (-255 * t / 40) + 1530
r = 159 + (s * (r - 159)) / 255
v = 159 + (s * (v - 159)) / 255
b = 159 + (s * (b - 159)) / 255
If l > 128 Then
    r = r + ((l - 128) * (255 - r)) / 128
    v = v + ((l - 128) * (255 - v)) / 128
    b = b + ((l - 128) * (255 - b)) / 128
Else
    r = (l * r) / 128
    v = (l * v) / 128
    b = (l * b) / 128
End If
r = Int(r)
v = Int(v)
b = Int(b)
tsv = RGB(r, v, b)
End Function

Conclusion :


J'espère que ce sera utile à quelqu'un!

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.