Outils pour utilisateurs

Outils du site


issue117:inkscape

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue117:inkscape [2017/02/03 15:35] auntieeissue117:inkscape [2017/02/03 16:54] (Version actuelle) andre_domenech
Ligne 5: Ligne 5:
 Let's first of all rule out the two that don't work. “Fill Paint” and “Stroke Paint”, according to the SVG specification, should do exactly what their names suggest. They should act in a similar way to the Flood primitive, by filling the filter area with a color, but rather than specifying the value within the filter primitive itself, it is taken from the selected object's Fill or Stroke color. This sounds like a great way of pulling a couple of colors into your filter chain, and allowing you to create filters that can adapt to the colors of the objects they're applied to. Except it doesn't work at all in Inkscape.** Let's first of all rule out the two that don't work. “Fill Paint” and “Stroke Paint”, according to the SVG specification, should do exactly what their names suggest. They should act in a similar way to the Flood primitive, by filling the filter area with a color, but rather than specifying the value within the filter primitive itself, it is taken from the selected object's Fill or Stroke color. This sounds like a great way of pulling a couple of colors into your filter chain, and allowing you to create filters that can adapt to the colors of the objects they're applied to. Except it doesn't work at all in Inkscape.**
  
-Les filtres sont un sujet important pour tirer le meilleur parti d'Inkscape - au moins, pour des activités artistiques. Il y a toujours un danger avec le dessin vectoriel qu'il puisse paraître, au final, trop précis et stérile pour certains usages ; les filtres sont souvent une façon de rajouter de fines (et pas si fines) variations dans la texture et la couleur qui sont souvent la marque de fabrique des dessins bitmap. Du moins, c'est la raison pour laquelle j'ai choisi de passer les neuf derniers articles de la série à vous présenter les filtres ; mais, ayant décrit chaque primitive dans le détail et montré quelques chaînes de filtrage cefaisant, cet article est le dernier sur ce sujet, et je passerai à autre chose le mois prochain.+Les filtres sont un sujet important pour tirer le meilleur parti d'Inkscape - au moins, pour des activités artistiques. Il y a toujours un danger avec le dessin vectoriel qu'il puisse paraître, au final, trop précis et stérile pour certains usages ; les filtres sont souvent une façon de rajouter de fines (et pas si fines) variations dans la texture et la couleur qui sont souvent la marque de fabrique des dessins bitmap. Du moins, c'est la raison pour laquelle j'ai choisi de passer les neuf derniers articles de la série à vous présenter les filtres ; mais, ayant décrit chaque primitive dans le détail et montré quelques chaînes de filtrage ce faisant, cet article est le dernier sur ce sujet, et je passerai à autre chose le mois prochain.
  
 Dans la partie 48, j'ai mentionné rapidement les colonnes d'entrées source sur la droite du dialogue des filtres (soulignées en rouge). Nous avons passé un peu de temps avec l'« Opacité de la source » et beaucoup plus avec la « Source image » ; mais, il reste quatre autres options qui ont été complètement ignorées jusqu'à maintenant. Il y a une bonne raison à cela, car dans la partie 48, j'ai écrit : « des six entrées visibles dans l'interface utilisateur, deux d'entre elles réclament un traitement spécial... et deux autres ne fonctionnent pas du tout ! » Dans la partie 48, j'ai mentionné rapidement les colonnes d'entrées source sur la droite du dialogue des filtres (soulignées en rouge). Nous avons passé un peu de temps avec l'« Opacité de la source » et beaucoup plus avec la « Source image » ; mais, il reste quatre autres options qui ont été complètement ignorées jusqu'à maintenant. Il y a une bonne raison à cela, car dans la partie 48, j'ai écrit : « des six entrées visibles dans l'interface utilisateur, deux d'entre elles réclament un traitement spécial... et deux autres ne fonctionnent pas du tout ! »
Ligne 15: Ligne 15:
 The remaining source inputs, “Background Image” and “Background Alpha” can be used within Inkscape, but only after a little preparation. These inputs represent an “image snapshot of the canvas under the filter region at the time that the 'filter' element is invoked” (according to the SVG spec). In other words, they pull in a flattened bitmap version of the drawing behind the filter region (or just the alpha channel of the same area), and make it available inside the filter chain, much like a bitmap pulled in via the Image primitive. The spec also points out, however, that holding a copy of the background image in memory “can take up significant system resources”, so the SVG content must “explicitly indicate” to the application that the document needs access to the background before these two input sources will have any effect. It then goes on to define how a document should specify that it needs access to the background by putting an attribute called “enable-background” onto an ancestor container element, giving it a value of “new”. You can fiddle around with the XML editor, or even modify your file's source code in a text editor, to achieve this, but there is a much easier way.** The remaining source inputs, “Background Image” and “Background Alpha” can be used within Inkscape, but only after a little preparation. These inputs represent an “image snapshot of the canvas under the filter region at the time that the 'filter' element is invoked” (according to the SVG spec). In other words, they pull in a flattened bitmap version of the drawing behind the filter region (or just the alpha channel of the same area), and make it available inside the filter chain, much like a bitmap pulled in via the Image primitive. The spec also points out, however, that holding a copy of the background image in memory “can take up significant system resources”, so the SVG content must “explicitly indicate” to the application that the document needs access to the background before these two input sources will have any effect. It then goes on to define how a document should specify that it needs access to the background by putting an attribute called “enable-background” onto an ancestor container element, giving it a value of “new”. You can fiddle around with the XML editor, or even modify your file's source code in a text editor, to achieve this, but there is a much easier way.**
  
-Il y a un problème technique évident avec ces deux sources d'entrée : un remplissage ou un contour peut être plus qu'une simple couleur unie dans SVG. Ceci n'affecte pas vraiment leur utilisation dans une chaîne de filtres - un motif peut être répété pour remplir la zone de filtrage, de même qu'un dégradé, si la définition le permet - mais cela complique de manière significative le processus de rendu pour Inkscape, et cela n'a pas (encore) été abordé par les développeurs. Néanmoins, même la simple possibilité d'utiliser une couleur unie de remplissage ou de contour serait un ajout utile. S'ils ne projettent pas d'ajouter au moins cela, il y a longtemps que ces deux colonnes auraient dues être supprimées de l'interface pour éviter toute confusion.+Il y a un problème technique évident avec ces deux sources d'entrée : un remplissage ou un contour peut être plus qu'une simple couleur unie dans SVG. Ceci n'affecte pas vraiment leur utilisation dans une chaîne de filtres - un motif peut être répété pour remplir la zone de filtrage, de même qu'un dégradé, si la définition le permet - mais cela complique de manière significative le processus de rendu pour Inkscape, et cela n'a pas (encore) été abordé par les développeurs. Néanmoins, même la simple possibilité d'utiliser une couleur unie de remplissage ou de contour serait un ajout utile. S'ils ne projettent pas d'ajouter au moins cela, il y a longtemps que ces deux colonnes auraient dû être supprimées de l'interface pour éviter toute confusion.
  
-Les sources d'entrée restantes, « Image de fond » et « Opacité de fond » peuvent être utilisées dans Inkscape, mais seulement après une petite préparation. Ces images représentent un « image instantanée du canevas sous la zone du filtrage au moment où l'élément de filtrage est invoqué » (d'après la spécif. SVG). En d'autres termes, ils introduisent une image bitmap du dessin derrière la zone de filtrage (ou simplement le canal alpha de cette même zone) et la rendent disponible dans la chaîne de filtrage, comme l'introduction d'un bitmap via la primitive Image (ou presque). Cependant, la spécif. indique aussi que la conservation d'une image de l'arrière-plan en mémoire « peut prendre une quantité significative des ressources système » ; aussi, le contenu SVG doit « indiquer explicitement »  à l'application que le document doit avoir accès à l'arrière-plan avant que l'une de ces deux sources puisse avoir le moindre effet. Puis, elle définit comment spécifier à un document qu'il doit avoir accès à l'arrière-plan, en plaçant un attribut « enable-background » (activer l'arrière-plan) dans l'élément conteneur ascendant, lui donnant la valeur « new » (nouveau). Vous pouvez bricoler l'éditeur XML ou même modifier le code source du fichier dans un éditeur de texte, mais il y a une façon beaucoup plus facile de le faire.+Les sources d'entrée restantes, « Image de fond » et « Opacité de fond »peuvent être utilisées dans Inkscape, mais seulement après une petite préparation. Ces images représentent un « image instantanée du canevas sous la zone du filtrage au moment où l'élément de filtrage est invoqué » (d'après la spécification SVG). En d'autres termes, ils introduisent une image bitmap du dessin derrière la zone de filtrage (ou simplement le canal alpha de cette même zone) et la rendent disponible dans la chaîne de filtrage, comme l'introduction d'un bitmap via la primitive Image (ou presque). Cependant, la spécification indique aussi que la conservation d'une image de l'arrière-plan en mémoire « peut prendre une quantité significative des ressources système » ; aussi, le contenu SVG doit « indiquer explicitement »  à l'application que le document doit avoir accès à l'arrière-plan avant que l'une de ces deux sources puisse avoir le moindre effet. Puis, elle définit comment spécifier à un document qu'il doit avoir accès à l'arrière-plan, en plaçant un attribut « enable-background » (activer l'arrière-plan) dans l'élément conteneur ascendant, lui donnant la valeur « new » (nouveau). Vous pouvez bricoler l'éditeur XML ou même modifier le code source du fichier dans un éditeur de texte, mais il y a une façon beaucoup plus facile de le faire.
  
 **Before explaining the simpler method, I'll use a very basic test file to clarify exactly what I'm talking about. Here I have a pair of green circles as my background objects. The background consists of any content below the filtered object in the z-order, so could just as easily have been a single shape or an entire drawing. In front of the circles is a red square, the object I'll be applying the filter to. **Before explaining the simpler method, I'll use a very basic test file to clarify exactly what I'm talking about. Here I have a pair of green circles as my background objects. The background consists of any content below the filtered object in the z-order, so could just as easily have been a single shape or an entire drawing. In front of the circles is a red square, the object I'll be applying the filter to.
Ligne 31: Ligne 31:
 Avant d'expliquer cette méthode plus simple, j'utiliserai un fichier texte très basique pour clarifier exactement ce dont je parle. Voici un couple de cercles verts qui seront mes objets d'arrière-plan. L'arrière-plan est constitué de tous les contenus qui sont sous l'objet filtré dans l'axe z ; ce peut être aussi bien une forme simple qu'un dessin complet. Devant les cercles se trouve un carré rouge, l'objet sur lequel j'appliquerai le filtre. Avant d'expliquer cette méthode plus simple, j'utiliserai un fichier texte très basique pour clarifier exactement ce dont je parle. Voici un couple de cercles verts qui seront mes objets d'arrière-plan. L'arrière-plan est constitué de tous les contenus qui sont sous l'objet filtré dans l'axe z ; ce peut être aussi bien une forme simple qu'un dessin complet. Devant les cercles se trouve un carré rouge, l'objet sur lequel j'appliquerai le filtre.
  
-Le filtre lui-même est assez simple juste une primitive Matrice de couleurs réglée sur le mode Décalage de teinte, en utilisant l'Image de fond comme source.+Le filtre lui-même est assez simplejuste une primitive Matrice de couleurs réglée sur le mode Décalage de teinte, en utilisant l'Image de fond comme source.
  
 Le résultat, à cet instant, est plutôt décevant. Le carré devient simplement transparent, sans aucun effet sur les cercles d'arrière-plan. Le résultat, à cet instant, est plutôt décevant. Le carré devient simplement transparent, sans aucun effet sur les cercles d'arrière-plan.
Ligne 47: Ligne 47:
 I shan't spend any time going exhaustively through the list of default filters, but instead encourage you to explore them on your own. Try creating a test sheet with some different objects and groups to work on: some of the filters work best on small objects, others on large ones; some require colorful content, others work just as well with a monochrome shape; some are wasted on intricate outlines, whilst others fail just as easily on featureless blocks of color.** I shan't spend any time going exhaustively through the list of default filters, but instead encourage you to explore them on your own. Try creating a test sheet with some different objects and groups to work on: some of the filters work best on small objects, others on large ones; some require colorful content, others work just as well with a monochrome shape; some are wasted on intricate outlines, whilst others fail just as easily on featureless blocks of color.**
  
-Bien qu'il apparaisse dans le dialogue, le filtre n'est attaché à aucun objet que vous puissiez sélectionner sur le canevas. Il est plutôt lié au calque lui-même. Souvenez-vous que les calques sont juste un groupe auquel est ajouté quelques attributs spécifiques à Inkscape ; aussi, ce n'est pas vraiment différent d'un filtre appliqué à un groupe d'objets. Quand le filtre est créé, Inkscape connecte automatiquement les entrées de la primitive Mélange à la Source image ((c'est-à-dire le calque qui est vraiment un groupe) et à l'Image de fond. En même temps, il ajoute l'attribut « enable-background » au nœud racine du document SVG, visible ici dans l'éditeur XML d'Inkscape.+Bien qu'il apparaisse dans le dialogue, le filtre n'est attaché à aucun objet que vous puissiez sélectionner sur le canevas. Il est plutôt lié au calque lui-même. Souvenez-vous que les calques sont juste un groupe auquel sont ajoutés quelques attributs spécifiques à Inkscape ; aussi, ce n'est pas vraiment différent d'un filtre appliqué à un groupe d'objets. Quand le filtre est créé, Inkscape connecte automatiquement les entrées de la primitive Mélange à la Source image (c'est-à-dire le calque qui est vraiment un groupe) et à l'Image de fond. En même temps, il ajoute l'attribut « enable-background » au nœud racine du document SVG, visible ici dans l'éditeur XML d'Inkscape.
  
 Le point clé est que le retour du Mode de rendu à « Normal » laisse cet attribut intact, alors qu'il a bien retiré le filtre. A partir de ce moment-là, vous êtes libre d'utiliser les entrées Image de fond et Opacité de fond dans vos propres chaînes de filtrage. Le point clé est que le retour du Mode de rendu à « Normal » laisse cet attribut intact, alors qu'il a bien retiré le filtre. A partir de ce moment-là, vous êtes libre d'utiliser les entrées Image de fond et Opacité de fond dans vos propres chaînes de filtrage.
Ligne 61: Ligne 61:
 If you look closely you'll see that it's not even connected to the last primitive, so plays no active role in this chain. You can delete it entirely and it won't have any effect. So why is it there?** If you look closely you'll see that it's not even connected to the last primitive, so plays no active role in this chain. You can delete it entirely and it won't have any effect. So why is it there?**
  
-Une possibilité classique d'Inkscape est que, quand vous copiez/collez un objet d'un document à un autre, tous les filtres attachés le suivent. Pourquoi ne pas commencer une « bibliothèque de filtres » un document dans lequel vous copiez tout filtre particulièrement utile ou impressionnant ? Chaque fois que vous créez ou trouvez un filtre génial, appliquez-le simplement à un objet approprié, puis copiez/collez-le dans le fichier de la bibliothèque. De même, quand vous voulez utiliser un filtre de votre bibliothèque, copiez juste l'objet du fichier de la bibliothèque et collez-le dans votre dessin en cours de création. Le filtre apparaîtra dans le dialogue des filtres et, un fois appliqué à quelque chose d'autre dans votre image, vous pourrez effacer sans risque l'objet tiré de la bibliothèque. Des utilisateurs ont déjà posté en ligne leurs propres collections de filtres cherchez « Inkscape filter pack » (paquet de filtres Inkscape), par exemple ; vous pourriez trouver ainsi que quelqu'un d'autre a déjà créé le filtre dont vous avez besoin, et il vous suffit d'un copier/coller pour l'utiliser dans vos propres dessins.+Une possibilité classique d'Inkscape est que, quand vous copiez/collez un objet d'un document à un autre, tous les filtres attachés le suivent. Pourquoi ne pas commencer une « bibliothèque de filtres »un document dans lequel vous copiez tout filtre particulièrement utile ou impressionnant ? Chaque fois que vous créez ou trouvez un filtre génial, appliquez-le simplement à un objet approprié, puis copiez/collez-le dans le fichier de la bibliothèque. De même, quand vous voulez utiliser un filtre de votre bibliothèque, copiez juste l'objet du fichier de la bibliothèque et collez-le dans votre dessin en cours de création. Le filtre apparaîtra dans le dialogue des filtres et, une fois appliqué à quelque chose d'autre dans votre image, vous pourrez effacer sans risque l'objet tiré de la bibliothèque. Des utilisateurs ont déjà posté en ligne leurs propres collections de filtres cherchez « Inkscape filter pack » (paquet de filtres Inkscape), par exemple ; vous pourriez trouver ainsi que quelqu'un d'autre a déjà créé le filtre dont vous avez besoin, et il vous suffit d'un copier/coller pour l'utiliser dans vos propres dessins.
  
 Quand vous créez vos propres chaînes de filtrage à partir de rien, la question sur ce qui se passe en combinant deux primitives ne se pose pratiquement jamais. Vous voulez un filtre pour flouter et dé-saturer ? Pas de problème, simplement enchaînez une primitive Flou gaussien avec une primitive Matrice de couleurs (en mode Saturation). Mais qu'arrive-t-il si vous voulez faire la même chose avec les filtres par défaut ? Il y a, dans le menu Filtres, Flou > Flou ( qui fournit une simple primitive Flou gaussien) et aussi Couleurs > Brillance (qui fournit une simple primitive Matrice de couleurs). Que se passe-t-il si vous ajoutez les deux à un objet ? Si vous l'essayez, vous verrez que vous obtenez un résultat flou et dé-saturé ; ainsi, il est possible de combiner de cette manière les filtres par défaut. Mais il se passe un truc bizarre dans la chaîne de filtres. Vous n'avez pas seulement les deux primitives que vous avez prévu, mais aussi une troisième : une Matrice de couleurs supplémentaire entre les deux primitives attendues. Quand vous créez vos propres chaînes de filtrage à partir de rien, la question sur ce qui se passe en combinant deux primitives ne se pose pratiquement jamais. Vous voulez un filtre pour flouter et dé-saturer ? Pas de problème, simplement enchaînez une primitive Flou gaussien avec une primitive Matrice de couleurs (en mode Saturation). Mais qu'arrive-t-il si vous voulez faire la même chose avec les filtres par défaut ? Il y a, dans le menu Filtres, Flou > Flou ( qui fournit une simple primitive Flou gaussien) et aussi Couleurs > Brillance (qui fournit une simple primitive Matrice de couleurs). Que se passe-t-il si vous ajoutez les deux à un objet ? Si vous l'essayez, vous verrez que vous obtenez un résultat flou et dé-saturé ; ainsi, il est possible de combiner de cette manière les filtres par défaut. Mais il se passe un truc bizarre dans la chaîne de filtres. Vous n'avez pas seulement les deux primitives que vous avez prévu, mais aussi une troisième : une Matrice de couleurs supplémentaire entre les deux primitives attendues.
Ligne 76: Ligne 76:
 Il s'avère que c'est un ajout plutôt sympa de la part des développeurs d'Inkscape. Supposons que vous vouliez ajouter un autre filtre à cette chaîne, mais que ça en soit un qui utiliserait normalement l'Opacité de la source comme entrée. Pour empêcher tout résultat inattendu, vous avez besoin qu'il utilise l'alpha à partir de la sortie du filtre précédent, qui ne sera en général pas du tout pareil que l'Opacité de la source elle-même. Ces primitives Matrice de couleurs supplémentaires agissent comme des sorties alpha intermédiaires dans la chaîne. Ainsi, avec l'ajout de celles-ci, vous pouvez non seulement lier toute nouvelle primitive à l'image de sortie de chaque filtre, mais aussi à la sortie alpha. Il s'avère que c'est un ajout plutôt sympa de la part des développeurs d'Inkscape. Supposons que vous vouliez ajouter un autre filtre à cette chaîne, mais que ça en soit un qui utiliserait normalement l'Opacité de la source comme entrée. Pour empêcher tout résultat inattendu, vous avez besoin qu'il utilise l'alpha à partir de la sortie du filtre précédent, qui ne sera en général pas du tout pareil que l'Opacité de la source elle-même. Ces primitives Matrice de couleurs supplémentaires agissent comme des sorties alpha intermédiaires dans la chaîne. Ainsi, avec l'ajout de celles-ci, vous pouvez non seulement lier toute nouvelle primitive à l'image de sortie de chaque filtre, mais aussi à la sortie alpha.
  
-Pouvoir combiner des filtres de cette manière et les voir fonctionner comme prévu est impressionnant, mais cela peut conduire rapidement à de longues chaînes de filtrage compliquées et difficiles à gérer. Une meilleur approche est souvent de d'appliquer un filtre, puis de grouper votre objet avant d'appliquer le filtre suivant au groupe. Vous pouvez répéter ceci autant de fois que nécessaire, créant un emboîtement toujours plus long de groupes, chacun ayant son propre filtre. Ceci rend certainement plus facile leur gestion dans le dialogue des filtres, car il y a beaucoup moins de confusion sur quel filtre vous êtes en train de modifier, particulièrement si vous les nommez bien.+Pouvoir combiner des filtres de cette manière et les voir fonctionner comme prévu est impressionnant, mais cela peut conduire rapidement à de longues chaînes de filtrage compliquées et difficiles à gérer. Une meilleure approche est souvent d'appliquer un filtre, puis de grouper votre objet avant d'appliquer le filtre suivant au groupe. Vous pouvez répéter ceci autant de fois que nécessaire, créant un emboîtement toujours plus long de groupes, chacun ayant son propre filtre. Ceci rend certainement plus facile leur gestion dans le dialogue des filtres, car il y a beaucoup moins de confusion sur quel filtre vous êtes en train de modifier, particulièrement si vous les nommez bien.
  
 Une dernière chose à noter est que, dans la 0.91 (et dans la 0.92 qui vient de sortir !), beaucoup de filtres par défaut ont des points de suspension (trois points « … ») en fin d'appellation. Le choix de l'un d'eux ouvre une boîte de dialogue qui vous permet de saisir les paramètres du filtre et voir une prévisualisation immédiate. Bien sûr, c'est juste un raccourci pour régler les paramètres de chaque primitive de filtrage, mais c'est une addition bienvenue qui peut présenter les paramètres les plus importants de nombre de primitives, tout en cachant les autres options et réglages qui n'ont aucun intérêt dans la plupart des cas. Malheureusement, vous n'avez aucune possibilité de retrouver cette interface simplifiée une fois que vous l'avez renvoyée ; aussi, tout réglage ultérieur nécessitera de plonger à nouveau dans tous les détails sordides de chaque primitive. Certains filtres distincts venant de la 0.48 ont été aussi supprimés, puisque les nouveaux filtres paramétrés peuvent réaliser les mêmes effets, voire plus. Si vous ne trouvez pas votre vieux filtre favori dans les nouvelles versions, cherchez un nom voisin avec trois points de suspension et commencez à ajuster les paramètres ! Une dernière chose à noter est que, dans la 0.91 (et dans la 0.92 qui vient de sortir !), beaucoup de filtres par défaut ont des points de suspension (trois points « … ») en fin d'appellation. Le choix de l'un d'eux ouvre une boîte de dialogue qui vous permet de saisir les paramètres du filtre et voir une prévisualisation immédiate. Bien sûr, c'est juste un raccourci pour régler les paramètres de chaque primitive de filtrage, mais c'est une addition bienvenue qui peut présenter les paramètres les plus importants de nombre de primitives, tout en cachant les autres options et réglages qui n'ont aucun intérêt dans la plupart des cas. Malheureusement, vous n'avez aucune possibilité de retrouver cette interface simplifiée une fois que vous l'avez renvoyée ; aussi, tout réglage ultérieur nécessitera de plonger à nouveau dans tous les détails sordides de chaque primitive. Certains filtres distincts venant de la 0.48 ont été aussi supprimés, puisque les nouveaux filtres paramétrés peuvent réaliser les mêmes effets, voire plus. Si vous ne trouvez pas votre vieux filtre favori dans les nouvelles versions, cherchez un nom voisin avec trois points de suspension et commencez à ajuster les paramètres !
issue117/inkscape.1486132537.txt.gz · Dernière modification : 2017/02/03 15:35 de auntiee