Primitives de filtres de composition

Ces primitives mélangent deux images ou plus. Les images peuvent provenir d'un objet, d'un arrière-plan ou de la sortie d'une autre primitive.

[Note]Note

La version 0.46 d'Inkscape rencontre un problème dans l'utilisation de l'un de ces filtres. Lorsqu'on utilise soit Image de fond soit Opacité de fond comme entrée du filtre, la balise « enabled-background » (activer l'arrière-plan) doit être ajouté au fichier SVG (il demande au moteur de rendu SVG de conserver en mémoire une copie de l'arrière-plan). Ceci n'est pas réalisé. Un moyen détourné consiste à utiliser le dialogue des Calques pour ajouter un filtre Fondre au Calque. Le Calque fondu peut alors être supprimé, laissant en place la balise nécessaire.

[Note]Note

La spécification du SVG 1.1 rencontre un problème lorsqu'un objet est composé avec un fond qui n'est pas totalement opaque. Le fond est inclus deux fois (une fois avec l'image composée et une fois comme fond). Il y a trois façons de traiter ce problème. La première consiste à éviter l'utilisation de l'Image de fond ou de l'Opacité de fond comme entrée du filtre. La seconde consiste à remplacer le fond transparent par un fond uni (vous pouvez utiliser l'Outil Pipette pour remplacer un Remplissage transparent par un Remplissage uni équivalent [désactivez « Capturer l'alpha » dans les Contrôles d'outils]). La troisième consiste à utiliser le filtre Remplissage pour créer un fond blanc uni et l'inclure comme première entrée d'un filtre Bord (en cas d'utilisation d'un filtre Bord, incluez d'abord le débord ; si vous utilisez un filtre Fondre ou Composite, ajoutez un filtre Bord avec pour première entrée la sortie du filtre Remplissage et pour seconde entrée la sortie du filtre Fondre ou Composite). Cette solution rencontre un problème lorsqu'on souhaite que l'image globale comporte de la transparence. La norme SVG 1.2 corrige cette faiblesse.

Fonds transparents.
Le cercle rouge est associé au fond en utilisant le filtre Bord. Les carrés gris du fond ont une transparence de 50%. À gauche, la surface à l'intérieur de la zone du filtre est trop foncée, résultant du fond ajouté deux fois. À droite, la zone du filtre a d'abord été remplie en blanc à l'aide du filtre Remplissage.

Fondre

La primitive Fondre fond deux objets superposés ou un objet avec son fond en créant une combinaison pixel par pixel à l'aide de l'un des cinq modes de fondus définis. Les cinq modes sont listés ci-dessous. À l'exception du mode Normal, le résultat est indépendant de l'ordre de superposition des objets.

Pour chaque mode, la définition mathématique est donnée. Dans les définitions, a correspond à un objet au-dessus de b. c est la couleur RVB de l'objet tandis que q correspond à l'Opacité. Les étendues de c comme de q vont de 0 à 1. Chacune des couleurs RVB est combinée indépendamment.

  • Normal : l'objet de dessus devant l'objet au-dessous comme si le filtre n'était pas présent (en fait Inkscape retire la primitive de filtre Fondre quand « Normal » est sélectionné pour un fondu ajouté à un Calque à l'aide du dialogue des Calques). cr = (1−qa)×cb + ca).
  • Produit : l'objet de dessus filtre la lumière de l'objet/image au-dessous (comme en regardant l'objet du fond à travers un filtre transparent de la couleur de l'objet supérieur). Exemples : un objet bleu par-dessus un objet rouge produit du noir puisque l'objet bleu filtre toute la lumière rouge. Un objet cyan par-dessus un objet pourpre produit du bleu puisque le cyan filtre le rouge mais permet au bleu de passer. cr = (1−qa)×cb + (1−qb)×ca + ca×cb.
  • Superposition : l'objet de dessus ajoute de la lumière à l'objet au-dessous (comme si les objets de dessus et de dessous étaient projetés indépendamment sur un écran). Exemples : un objet bleu par-dessus un objet rouge produit du pourpre. Un objet cyan par-dessus un objet pourpre produit du blanc puisque le cyan contient du vert et du bleu et que le pourpre contient du rouge et du bleu. Par conséquent le rouge, le vert et le bleu sont présents en quantités égales (pourquoi le résultat ne contient pas plus de bleu ? Parce que le cyan et le pourpre contiennent déjà le niveau maximum de bleu). cr = cb + ca − ca×cb.
  • Obscurcir : l'objet de dessus obscurcit l'objet au-dessous. cr = Minimum ( (1−qa)×cb + ca, (1−qb)×ca + cb ).
  • Éclaircir : l'objet de dessus éclaircit l'objet au-dessous. cr = Maximum ( (1−qa)×cb + ca, (1−qb)×ca + cb ).
Fondre.
En haut : les carrés bleu et rouge contiennent des Dégradés linéaires qui vont de l'Opacité totale à la Transparence totale sur un fond blanc ou noir. En bas : carrés bleus superposés aux carrés rouges avec différents modes de fondus.
Fondre.
Trois cercles les uns au-dessus des autres. Le même filtre Fondre a été appliqué individuellement à chacun des cercles d'un ensemble. Notez que les cercles sont sur un fond soit blanc soit noir avec une Opacité maximale.
Fondre.
Une illustration de la différence entre les modes de fondusSuperposition (à gauche) et Éclaircir (à droite). Chaque cercle possède un niveau de rouge de 128 (50%) et une Opacité de 128 (50%). Si l'Opacité avait été réglée sur 255 (100%), les deux figures auraient été identiques.

La primitive de filtre Fondre peut également être appliquée à un Calque par le dialogue des Calques. Dans ce cas, la première entrée est l'objet sélectionné tandis que l'entrée deux est réglée sur l'Image de fond.

Composite

La primitive de filtre Composite permet à deux objets superposés ou à un objet et un fond d'être fusionnés pixel par pixel selon une règle dépendant du mode. Voir l'introduction à cette section concernant les problèmes d'utilisation d'un fond comme l'une des entrées.

Les modes possibles sont les suivants :

  • Over (Dessus) : l'objet le plus haut est placé au-dessus de l'objet le plus bas. Ceci est équivalent à la manière normale dont sont dessinés les objets superposés.
  • In (Dans) : l'objet au-dessous détermine quelle partie de l'objet du dessus est visible.
  • Out (Hors) : l'objet au-dessous détermine quelle partie de l'objet du dessus est cachée.
  • Atop (Au sommet) : l'objet au-dessous détermine quelle partie de l'objet du dessus est visible. L'objet au-dessous est également visible.
  • XOR (pour eXclusive OR : OU exclusif) : les zones non superposées des objets du dessus et du dessous sont visibles.
  • Arithmetic (Arithmétique). Les entrées K1, K2, K3 et K4 sont utilisées dans l'équation : résultat = K1×i1×i2 + K2×i1 + K3×i2 + K4 pour définir la sortie ; i1 et i2 sont les valeurs d'entrée des deux objets source.
Filtre Composite.
Exemples des différents modes disponibles pour la primitive de filtre Composite. La première entrée est le carré bleu. La seconde entrée, le carré rouge, est dérivée du carré bleu en utilisant les primitives de filtres Matrice de couleurs et Décalage. Les paramètres pour le mode Arithmetic sont tous réglés à 0,5.

Fusionner

Le filtre Bord permet l'association de deux objets ou plus, ou sorties de primitives de filtres. Il fonctionne en disposant en couches une image par-dessus une autre, bien que les objets ordinaires soient disposés en couches les uns au-dessus des autres dans l'Ordre-z, ou, dans le cas de deux entrées, comme la primitive de filtre Composite utilisant le mode « Over » (Dessus).

Quand le filtre Bord est ajouté à un filtre complexe un nœud d'entrée non assigné est créé. Comme chaque entrée est assignée, une autre entrée vide est créée. Ce nœud vide n'est pas inclus dans l'arborescence de la structure SVG.