Primitives de filtre de couleur

Deux primitives de Filtre permettent la manipulation des couleurs.

Matrice de couleurs

La primitive Matrice de couleurs établi chaque valeur RVB et Alpha à une nouvelle valeur. La transformation est décrite par une matrice de 5×5 avec la ligne du bas fixe, donc une transformation générale est décrite par une matrice de 5×4. La cinquième colonne ajoute une valeur qui est indépendante de RVB et d'Alpha, permettant une correction des couleurs non linéaire.

Formule de la matrice.

Quatre types de transformations sont définis, dont trois sont des catégories particulières de la première.

  • Matrice : la matrice complète 5×4 est définie. C'est le cas le plus général.
  • Saturation : la saturation est réduite en spécifiant un nombre, s. L'étendu de s va de 0,0 (complètement désaturé) à 1,0 (inchangé). Seules les valeurs RVB sont modifiées. La formule exacte est : R' = (0,213+0,787s)R + 0,715×(1−s)V + 0.072×(1−s)B; V' = 0,213 ×(1−s)R + (0,715+0,285s)V + 0,072×(1−s)B; B' = 0,213 ×(1−s)R + 0,715×(1−s)V + (0,072+0,928s)B.
  • Décalage de teinte : la teinte est décalée en spécifiant un nombre. Comme pour le cas de la Saturation, seules les valeurs RVB sont modifiées. La formule exacte est vraiment compliquée. Il ne s'agit pas d'une simple rotation de rouge à jaune à vert etc.
  • Luminance vers opacité : la luminance est convertie en opacité (Alpha) par une formule fixe : Alpha= 0,2125 × R + 0,7154 × V + 0,0721 × B (selon la recommandation IUT-R BT709 de l'International Telecommunication Union / Union Internationale des Télécommunications, correspondant à la norme de couleur HDTV : High Definition TeleVision / Télévision en Haute Définition).
Primitive Matrice de couleurs.
Exemples d'utilisations de la primitive Matrice de couleurs. De haut en bas : objet source. Mode Matrice réglé pour permuter le rouge et le bleu. Mode Saturation avec une entrée de 0,5. Mode Décalage de teinte avec une entrée de 90°. Mode Luminance vers opacité.

Un « négatif » peut être créé en réglant les éléments RVB de la diagonale de la matrice (a00, a11, a22) à -1,00 et les trois éléments supérieurs de la cinquième colonne (a04, a14, a24) à 1,00.

Image en négatif.
Création d'un « négatif » en mode Matrice.

Report de composants

Partiellement implémenté ; pas d'interface utilisateur.

La primitive Report de composants modifie les valeurs RVB et Alpha d'un objet en appliquant des fonctions indépendantes à chacune des valeurs d'entrée RVB et Alpha. Les modes suivants de définition des fonctions sont disponibles :

  • Identity (Identité).
  • Table (Table).
  • Discrete (Distinct).
  • Linear (Linéaire).
  • Gamma (Gamma).