Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Colorimétrie : convertisseur TSV vers RVB Mar 10 Mai 2022 - 11:20 | |
| Bonjour à tous ! Complémentaire au convertisseur RVB vers TSV décrit > ICI <, voici la fonction inverse, TSV vers RVB. Le sous-programme tsv2rvb prend en paramètres les valeurs : - la Teinte dans un intervalle [0,359] ; - la Saturation [0,100] ; - la Valeur [0,100]. Les valeurs RVB calculées sont des entiers déclarés en tant que variables globales. - Code:
-
' TSV vers RVB (HSV / HSB to RGB) ' Marc - Mai 2022 ' Ecrit en langage Panoramic
dim r%,v%,b% dim teinte,saturation,valeur
caption 0,"TSV vers RVB (HSV / HSB to RGB)"
teinte = 154 :' teinte [0,360] saturation = 43.2 :' saturation [0,100] valeur = 60.8 :' valeur [0,100]
calculRVB(teinte,saturation,valeur)
print " Teinte = " + str$(teinte) + "°" print " Saturation = " + str$(saturation) + "%" print " Valeur = " + str$(valeur) + "%" print print " R,V,B = " + str$(r%) + "," + str$(v%) + "," + str$(b%)
end
' ------------------------------------------------------------------------------ sub calculRVB(t1,s1,v1) dim_local i%, f, p, q, t, rg, vt, bl
s1 = s1 / 100 v1 = v1 / 100 If s1 = 0 rg = v1 vt = v1 bl = v1 else if t1 = 360 t1 = 0 else t1 = t1 / 60 end_if i% = int(t1) f = t1 - i%
p = v1 * (1 - s1) q = v1 * (1 - (s1 * f)) t = v1 * (1 - (s1 * (1 - f))) rg = v1 vt = p bl = q select i% case 0 rg = V1 vt = t bl = p case 1 rg = q vt = V1 bl = p case 2 rg = p vt = V1 bl = t case 3 rg = p vt = q bl = V1 case 4 rg = t vt = p bl = V1 end_select end_if
r% = int(rg * 255) v% = int(vt * 255) b% = int(bl * 255) end_sub
Bonne programmation à tous ! Récapitulatif des articles concernant les convertisseurs colorimétriques: RVB vers TSL : https://panoramic.1fr1.net/t6749-colorimetrie-convertisseur-rvb-vers-tslTSL vers RVB : https://panoramic.1fr1.net/t6755-colorimetrie-convertisseur-tsl-vers-rvbRVB vers TSV : https://panoramic.1fr1.net/t6754-colorimetrie-convertisseur-rvb-vers-tsv TSV vers RVB : https://panoramic.1fr1.net/t6756-colorimetrie-convertisseur-tsv-vers-rvb | |
|