Primitives de filtres de remplissage

Ces primitives produisent certains types de Remplissage pour la zone du filtre.

Remplissage

La primitive Remplissage remplit la zone des filtres d'effets avec une couleur et une Opacité spécifiées. Cette primitive de filtre est plus utile lorsqu'elle est associée avec d'autres primitives de filtres.

Filtre Remplissage.
Un exemple d'utilisation du filtre Remplissage. De gauche à droite : 1. Un simple cercle. 2. Après ajout du filtre Remplissage avec une couleur bleu clair. Notez que la zone par défaut des filtres d'effets est plus grande que la Boîte englobante du cercle. 3. Après ajout d'une primitive de filtre Composite utilisant l'opérateur In (Dans). La première entrée est la sortie du filtre Remplissage et la seconde est la Source image. 4. Le Remplissage du cercle a été modifié pour le motif Cloth (Tissu) à l'aide du dialogue Remplissage et contour et le type du filtre Composite a été changé pour Arithmetic (Arithmétique) avec K1=0,5, K2=0,0, K3=0,5 et K4=0,0.

Image

Partiellement implémenté.

La primitive Image primitive restitue un fichier image externe ou un objet SVG interne. Elle permet de référencer plusieurs objets dans un filtre complexe (le premier étant l'objet attaché au filtre).

Malheureusement, cette primitive de filtre très utile n'est pas encore totalement implémentée dans Inkscape, avec uniquement le support d'images externes. L'IGU crée une référence avec un chemin absolu vers l'image externe. Utilisez l'Éditeur XML pour modifier un chemin absolu en chemin relatif si nécessaire.

Par défaut, l'image est rétrécie ou étirée pour tenir dans la Boîte englobante de l'objet auquel le filtre est attaché.

Images.
Une image appliquée à deux objets avec la primitive de filtre Image. Les rectangles rouges indiquent la Boîte englobante des objets.

Le placement de l'image à l'intérieur de la Boîte englobante peut être contrôlé à l'aide des paramètres x, y, width (largeur) et height (hauteur). Le système de coordonnées est le même que celui utilisé pour l'objet. L'Éditeur XML doit être utilisé pour modifier ces paramètres. Un paramètre supplémentaire, preserveAspectRatio (préserver les proportions), n'est pas supporté par Inkscape.

[Note]Note

Firefox comme Opera restituent l'image différemment d'Inkscape. Ils utilisent la zone par défaut des filtres d'effets pour déterminer le positionnement de l'image (même s'il est réglé sur une valeur différentes). Ils préservent également, par défaut, les proportions de l'image.

Images.
Une image appliquée à deux objets à l'aide de la primitive de filtre Image en spécifiant différentes zones d'image. À gauche, x est à 60 px et width (largeur) à 60 px. À droite, x est à -60 px et width (largeur) à 180 px.

Pavage

Non implémenté.

La primitive de filtre Pavage remplit une zone rectangulaire avec une image d'entrée répétée.

Pas d'options.

Turbulence

La primitive Turbulence permet la création de textures artificielles telles que les surfaces de marbre ou les nuages. Elle est basée sur le travail de Ken Perlin qui a remporté un Oscar pour la création de textures réalistes sur ordinateurs. Perlin a résolu le problème de l'utilisation des nombres aléatoires pour produire de douces fluctuations aléatoires dans une couleur. Une version simplifiée de sa méthode consiste à générer des intensités aléatoires à intervalles donnés puis à connecter correctement ces points ensemble.

Notez que Firefox 3 comme Batik restituent ce filtre différemment. Opera 9.26 le restitue de la même manière qu'Inkscape.

L'illustration suivante donne une idée de la manière dont le filtre serait implémenté en une seule dimension :

Turbulence : 1D.
Une illustration en une seule dimension de la méthode de génération de bruit de Perlin. Le bruit fractal est illustré à gauche et la turbulence à droite. La Fréquence de base est réglée à 0,05, donnant une « longueur d'onde » de 20 pixels (indiquée par les lignes pointillées verticales). Les apports de trois Octaves sont affichés séparément puis additionnées.

Les composantes RVB et Alpha sont dérivées chacune séparément.

Turbulence : composantes.
Les composantes d'un filtre TurbulenceBruit fractal. De gauche à droite : Rouge. Vert. Bleu. Alpha. Combinés, il y a un rectangle noir derrière la moitié droite. La primitive Matrice de couleurs a été utilisée pour extraire les différentes composantes.

Le type peut être soit Bruit fractal soit Turbulence. Turbulence a tendance à créer des zones sombres plus spectaculaires, du fait que les valeurs absolues des termes du bruit sont utilisées, créant des « fronces visuelles »[14].

Turbulence : types.
Les deux types de bruit disponibles : À gauche : Bruit fractal. À droite : Turbulence. En haut : canal rouge uniquement. En bas : tous les canaux. Il y a des rectangles noirs derrière les moitiés droites.

La Fréquence de base est définie par défaut en terme de Pixels-écran inversés. Par exemple, une fréquence de 0,1 aura une « longueur d'onde » de 10 pixels. Inkscape ne peut pas encore créer une résolution indépendante du bruit. Des valeurs raisonnables pour cet attribut s'étendent de 0,01 (une lente variation de texture) à 0,2 (une variation de texture rapide).

Turbulence : Fréquence de base.
Bruit fractal comme fonction de la Fréquence de base. De gauche à droite : 0,05. 0,10. 0,20. En haut : canal rouge seulement. En bas : tous les canaux ; un rectangle noir a été placé derrière les moitiés droites.

Le nombre d'Octaves détermine la complexité du bruit : plus il y a d'Octaves, plus le bruit est complexe. Chaque Octave ajoute un terme avec deux fois la Fréquence mais la moitié de l'amplitude. L'utilisation de plus de quatre ou cinq Octaves n'est pas tellement utile dans la mesure où les variations spatiales et de couleurs deviennent trop faibles pour être vues (et augmentent la charge du processeur).

Turbulence : Octaves.
Bruit fractal comme fonction des Octaves. Tout avec une Fréquence de base de 0,05. De gauche à droite : 1 octave. 2 octaves. 3 octaves. En haut : canal rouge seulement. Bottom: tous les canaux ; un rectangle noir a été placé derrière les moitiés droites.

La primitive Turbulence utilise un générateur de nombres pseudo-aléatoires. En principe, les rendus de différents visualiseurs SVG devraient utiliser le même générateur et produire les mêmes textures (à la même échelle). Si vous utilisez le filtre deux fois sur deux objets identiques, les textures devraient être les mêmes. Modifier le germe provoquera une séquence de nombres aléatoires différente et par conséquent les textures seront également différentes.



[14] Voir http://www.noisemachine.com/talk1/22.html.