Outils pour utilisateurs

Outils du site


issue126:inkscape

Last month’s look at the Live Path Effects added in 0.92 included a section on the Simplify effect. This adds a “live” version of one of Inkscape’s existing tools (Path > Simplify), whereas the older tool modifies the original path. The next LPE we’ll look at fills a similar niche – it’s another live version of an existing feature. It’s the “Roughen” LPE. The go-to tool for adding some randomness to the shape of a path is the Tweak tool, described in detail in parts 22 and 23. The latter article describes using the tool to modify the nodes of an existing path, including the ability to roughen the path by adding new nodes and slightly randomizing their positions. As with Path > Simplify, the procedure modifies the original path, so there’s no way to subsequently tweak the settings to retrospectively alter the result. The Roughen LPE does the same job, but, being a Live Path Effect, allows you the flexibility to go back and change its parameters after the fact. One trade-off for this capability is that the effect applies to the whole of the path, whereas the Tweak tool is interactively “sprayed” onto the path, allowing you to confine its effects to a particular area, should you need to. But, if you need to work on an entire path, it’s well worth further investigation. To demonstrate this LPE, I’ve created a simple five-pointed star using the Stars and Polygons tool, then added the effect via the Path > Path Effects dialog. As you might expect, the dialog gains a number of parameters that can be adjusted to alter the result.

Notre article du mois dernier sur les Effets de chemin dynamiques (LPE) ajoutés dans la 0.92 comprenait une section sur l'effet Simplifier. Celui-ci ajoute une version « Live » à un des outils existants d'Inkscape (Chemin > Simplifier), là où l'outil ancien modifiait le chemin original. Le LPE suivant que nous regarderons remplit une case similaire - c'est une autre version « Live » d'une fonctionnalité existante. C'est le LPE « Agitation ».

L'outil habituel pour ajouter un peu d'incertitude dans la forme d'un chemin est l'outil Ajuster, décrit en détail dans les parties 22 et 23. Ce dernier article décrit l'utilisation de l'outil pour modifier les nœuds d'un chemin existant, y compris la possibilité d'augmenter le grain du chemin en ajoutant de nouveaux nœuds et en modifiant légèrement leurs positions. Comme avec Chemin > Simplifier, la procédure modifie le chemin original, de telle sorte qu'il n'y a plus moyen par la suite de changer les réglages pour revenir au résultat précédent. Le LPE Agitation fait la même chose, mais en tant qu'Effet dynamique (LPE) et vous offre la souplesse de revenir en arrière et de changer les paramètres après exécution. Un inconvénient de cette capacité est que l'effet s'applique sur tout le chemin, alors que l'outil Ajuster est diffusé interactivement sur le chemin, vous permettant de confiner ses effets à une zone particulière, si nécessaire. Mais, si vous avez besoin de travailler sur tout le chemin, il vaut la peine de s'y intéresser plus avant.

Pour présenter ce LPE, j'ai créé une simple étoile à cinq branches avec l'outil Étoiles et polygones, puis j'ai ajouté l'effet par le dialogue Chemin > Effets de chemin. Comme vous pouvez vous y attendre, le dialogue comporte un certain nombre de paramètres qui peuvent être ajustés pour modifier le résultat.

With the settings shown in the screenshot, my simple star was immediately distorted into something more random. To get a better idea of what’s happening, I’m going to add another new LPE to the chain: Show Handles. This draws representations of the path’s nodes and handles, which can be invaluable when trying to gain an understanding of exactly how your input path has been changed by the applied LPEs (more on this later). The first thing to notice is that our five-pointed star (which, if converted to a path, would have had 10 nodes) now has 20 nodes: This is due to the top section of the Roughen effect’s controls which adds extra nodes. More specifically, it adds nodes to each segment of your path, spacing them evenly along it. The number of nodes added is either determined directly by choosing the “By number of segments” option and setting a value in the “Number of segments” field; or indirectly by choosing the “By max segment size” option, and filling a value in the “Max segment size” field. The difference is clearer when you have a path with different segment lengths; consider this example of a right-angled path where the horizontal arm is about twice as long as the vertical one. The top image shows the effect of using “By number of segments” to divide each path segment into two. The bottom picture uses “By max segment size”, resulting in two new nodes on the vertical arm, but three new ones on the longer horizontal arm. Returning to our star, therefore, the default settings split each segment into two, doubling the number of nodes.

Avec les réglages présentés sur la copie d'écran, mon étoile ordinaire a été immédiatement déformée en quelque chose de plus aléatoire.

Pour avoir une meilleure idée de ce qui est arrivé, je vais ajouter un autre effet dynamique (LPE) à la chaîne : Afficher les poignées. Celui-ci dessine les représentations des nœuds et des poignées du chemin, ce qui peut être inestimable quand on essaie de comprendre exactement comment votre chemin a changé en appliquant le LPE (des détails plus loin). La première chose à noter est que notre étoile à cinq branches (qui, si elle était convertie en chemin, aurait 10 nœuds) a maintenant 20 nœuds :

Ceci est dû à la partie haute des contrôles de l'effet Agitation qui ajoute des nœuds supplémentaires. Plus particulièrement, elle ajoute des nœuds à chaque segment de votre chemin, en les espaçant régulièrement tout le long. Le nombre de nœuds ajoutés est déterminé, soit directement en choisissant l'option « Par nombre de segments » et en réglant la valeur du champ « Nombre de segments », soit indirectement en choisissant l'option « Par longueur maximale de segment » et en saisissant une valeur dans le champ « Taille maximale du segment ». La différence est plus claire quand votre chemin a des segments de différentes longueurs ; regardez cet exemple avec un chemin ayant un angle droit dont la branche horizontale est environ deux fois plus longue que la verticale.

L'image du haut montre l'effet en utilisant « Par nombre de segments » avec une division de chaque segment en deux. « Par longueur maximale de segment » est utilisé dans l'image du bas, entraînant deux nouveaux nœuds sur la branche verticale, mais trois nouveaux sur la branche horizontale. Par conséquent, en revenant à notre étoile, les réglages par défaut divisent chaque segment en deux, doublant le nombre de nœuds.

Once you’ve created more nodes to work with, it’s time to jiggle their positions a bit. The “Jitter nodes” section lets you define the maximum amount that each node will be displaced – although the precise value for each is random. You can set different values for the X and Y directions, and the dice buttons will re-seed the random number generator, adjusting the node positions in either the X or Y directions accordingly. The “Extra roughen” section provides an additional displacement factor. This value acts as a multiplier – setting it to zero will cancel any displacement, regardless of how large the X and Y values are, whilst larger numbers increase the amount of displacement that takes place. This time, the die button re-randomizes the nodes’ positions in both the X and Y directions at once. It’s worth noting that the random seed for each of these controls defaults to 1 when the LPE is first added to a path. If you have several similar paths that you wish to roughen differently, therefore, it’s worth clicking each of these buttons a few times. The actual seed isn’t visible in the UI, but can be found via the XML editor. The settings for LPEs are stored in the <defs> section near the top of the file, and if you’ve applied several to your page, you might need a little trial-and-error to find the relevant entry (tip: put an easy to spot value, such as 9.999 into one of the fields so that it stands out more in the XML dialog). Here you can see that I’ve clicked the randomize buttons for the X displacement and the global randomization, but left the highlighted Y displacement with its default value. The seed in each case is the part after the semicolon, which you can copy and paste if you wish to use the same non-default seed across multiple objects.

Une fois que vous avez créé d'autres nœuds avec lesquels travailler, il est temps de bouger un peu leurs positions. La section « Agiter les nœuds » vous laisse définir la quantité maximale de déplacement de chaque nœud, mais la valeur précise pour chacun est aléatoire. Vous pouvez donner des valeurs différentes aux directions X et Y, et les boutons « aléatoire », à droite, vont régénérer des nombres aléatoires, ajustant respectivement les positions dans les directions X et Y suivant ces valeurs. La section « Ajouter du grain supplémentaire » fournit un facteur additionnel de déplacement. Cette valeur agit comme un multiplicateur, - réglé à zéro, tout déplacement est impossible, sans tenir compte de la taille des valeurs X et Y -, tandis que des nombres plus grands augmenteront l'importance du déplacement. Ce coup-ci, le bouton « aléatoire » régénère les positions X et Y des nœuds en même temps.

Il peut être noté que la semence aléatoire de chacun de ces contrôles est à 1 par défaut lors de l'application de ce LPE à un chemin. Ainsi, si vous avez plusieurs chemins similaires que vous souhaitez agiter différemment, il vaut mieux cliquer plusieurs fois sur chacun de ces boutons. La vraie semence n'est pas visible dans l'interface utilisateur, mais elle peut être trouvée via l'éditeur XML. Les réglages des LPE sont stockés dans la section <defs> vers le haut du fichier et, si vous en avez appliqué plusieurs dans votre dessin, vous devrez faire plusieurs tentatives pour déterminer la bonne ligne (astuce : mettez une valeur facile à voir, telle que 9,999 dans un des champs pour qu'elle ressorte mieux dans la boîte de dialogue du XML). Ici, vous pouvez voir que j'ai cliqué sur les boutons « aléatoire » pour le déplacement de X et l'aléa global, mais que j'ai laissé le déplacement de Y, en surbrillance, à sa valeur par défaut. Dans chaque cas, la semence est la valeur derrière le point-virgule, que vous pouvez copier et coller si vous souhaitez utiliser la même semence non-par-défaut pour plusieurs objets.

To roughen a path, inserting new nodes and randomizing their positions may be sufficient. But this effect also provides a few options about what to do with the node handles. Our pointed star, with its straight line segments, offers little of interest when it comes to node handles, so, to demonstrate the possibilities, I’ll switch to a curved shape with a sharp transition in the middle. Once again, I’ve applied the Show Handles LPE, but I’ve put a duplicate of the original path on top (in red) for clarity. Here’s how it looks before the Roughen LPE is applied. To isolate the effects on the handles, without adding extra nodes to complicate matters, I’ve used the “By number of segments” mode, with that number reduced to 1. This effectively neuters the top part of the dialog, and no new nodes are added, though the existing ones will still be moved. The “Handles” pop-up towards the bottom of the dialog determines what will happen to the nodes’ handles. With the default setting of “Along nodes”, the handles simply move along [with the] nodes, maintaining their relative sizes and positions. The “Rand” option randomises the position of the handles. Unfortunately, there’s no button to set a random seed, and no seed value appears in the XML file, so I guess you’re stuck with whatever random positions the LPE gives you.

Pour « agiter » un chemin, l'ajout de nouveaux nœuds dans des positions aléatoires peut s'avérer suffisant. Mais cet effet fournit aussi quelques options sur ce qui peut être fait avec les poignées des nœuds. Notre étoile à cinq branches, avec ses segments de ligne droite, offre peu d'intérêt pour ce qui est des poignées des nœuds ; aussi, pour montrer ces possibilités, je passerai à une forme incurvée avec une cassure au milieu. Une fois encore, j'ai appliqué le LPE Afficher les poignées, mais j'ai placé un double du chemin d'origine au-dessus (en rouge) pour plus de clarté. Voici comment il apparaît avant l'application du LPE Agitation.

Pour isoler les effets sur les poignées, sans ajouter des nœuds supplémentaires qui complexifieraient le sujet, j'ai utilisé le mode « Par nombre de segments » avec un nombre réduit à 1. Ceci neutralise vraiment la partie supérieure du dialogue et aucun nœud n'est ajouté, tout en gardant une mobilité des nœuds existants. La liste déroulante « Poignées » en bas du dialogue détermine ce qui arrivera aux poignées des nœuds. Avec la valeur par défaut « Le long des nœuds », les poignées bougent simplement avec les nœuds (en même temps), conservant leurs tailles et positions relatives.

L'option « Aléa » rend la position des nœuds aléatoire. Malheureusement, il n'y a pas de bouton pour générer une semence aléatoire et aucune valeur aléatoire n'apparaît dans l'éditeur XML ; aussi, je présume que vous n'avez que le choix de prendre les positions aléatoires que vous donne le LPE.

“Retract”, as its name suggests, retracts the handles completely, converting your path segments into straight lines, whilst “Smooth” ensures that the handles on either side of each node form a straight line, with the result that the path transitions smoothly from one segment to the next, even if doing so drastically changes the shape of your path. Adding extra nodes using the top section can help to reduce the amount of distortion that takes place. At the bottom of the dialog are three checkboxes, starting with “Shift Nodes”. With this unchecked, the nodes won’t move, regardless of the X, Y and Global settings. At first, this seems to rather defeat the point of the dialog, but it opens up a couple of possibilities that aren’t immediately obvious. With this unchecked, you can use the top section of this LPE as a means to subdivide your path into smaller sections without affecting its shape. This might be handy as a “pre-processing” step before sending the result to another effect. Another option is to uncheck this but to change the “Handles” pop-up, so that the nodes don’t move but the handles are still randomised, retracted or smoothed. The second checkbox seems less useful to me. It fixes the amount of allowed displacement to 1/3 of the length of the line segment, regardless of the X, Y and Global values. Why this should be a particularly good idea escapes me. I can understand that there might sometimes be a benefit to having the amount of displacement related to the length of the path segment, but, in that case, I would prefer to have a control to set that factor, rather than have it hard-coded as 1/3 of the segment size.

« Rétracter », comme son nom le suggère, rétracte complètement les poignées, transformant vos segments de chemin en lignes droites, alors que « Adoucir » assure que les poignées de chaque côté de chaque nœud forme une ligne droite, avec comme résultat que le chemin passe doucement d'un segment à l'autre, même si la forme de votre chemin change beaucoup. L'ajout de nœuds supplémentaires en utilisant la section du haut peut aider à réduire l'importance de la distorsion induite.

En bas du dialogue, il y a trois cases à cocher, en commençant par « Déplacer les nœuds ». Quand elle est décochée, les nœuds ne bougent pas, quels que soient les réglages de X, Y et Aléa global. À première vue, ça semble plutôt jouer en défaveur de ce dialogue, mais cela ouvre quelques possibilités qui ne sont pas immédiatement évidentes. Quand elle est décochée, vous pouvez utiliser la section du haut de ce LPE comme un moyen de subdiviser votre chemin en segments plus petits sans modifier sa forme. Ça peut être pratique comme une étape de « pré-traitement » avant de passer le résultat à un autre effet. Une autre option consiste à décocher cette case, mais à modifier la liste « Poignées » de sorte que les nœuds ne peuvent pas bouger tout en pouvant encore disperser aléatoirement, rétracter ou adoucir les poignées.

La deuxième case à cocher me semble moins utile. Elle fixe la quantité de déplacement autorisé à un tiers de la longueur du segment, quels que soient X, Y et aléa global. Je ne comprends pas pourquoi ceci serait une idée particulièrement bonne. Je peux comprendre qu'il puisse y avoir parfois un intérêt à ce que la quantité du déplacement soit en lien avec la longueur du segment, mais, dans ce cas, j'aurais aimé avoir un contrôle pour ajuster ce rapport, plutôt que d'avoir « 1/3 de segment » codé en dur.

The last checkbox, “Spray Tool friendly”, is a mystery to me. The tooltip suggests it’s “for use with the spray tool in copy mode”, but my own experimentation of using the Spray tool on roughened shapes suggests that it has no obviously useful effect on the result. With this checked, some of my “copies” were slightly distorted compared to their peers, but not by enough to recommend this as a way of producing randomized copies. So far, I’ve concentrated on using this effect to produce small changes to a path. In practice, an LPE called “Roughen” might be expected to have more dramatic effects in most situations. Returning to my original star shape, increasing the number of path segments, adjusting the X, Y and Global values, and randomizing the handles, produces arguably the output most people would expect from this effect. Having briefly introduced the Show Handles LPE earlier on, I’ll finish this month by delving into a little more detail. The UI for this effect is so straightforward that it barely warrants a mention: the three checkboxes toggle the visibility of nodes, handles, and the path itself, whilst the spinbox lets you set the size of the rendered nodes and handles.

La dernière case à cocher, « Outil aérographe avec sympathie », est un mystère pour moi. L'info-bulle suggère que c'est « Pour utiliser avec l'outil aérographe en mode copie », mais mes essais personnels pour utiliser l'outil Aérographe sur des formes « agitées » montrent qu'il n'a pas d'effet utile évident sur le résultat. Avec cette case cochée, certaines de mes « copies » étaient légèrement déformées, en comparaison avec leurs pairs, mais pas assez pour être recommandées comme une façon de produire des copies aléatoires.

Jusque là, je me suis limité à utiliser cet effet pour produire des petits changements sur un chemin. En pratique, un LPE appelé « Agitation » pourrait être suspecté d'avoir des effets plus dévastateurs dans la plupart des cas. De retour sur ma forme en étoile d'origine, une augmentation du nombre de segments, un ajustement des valeurs X, Y et Aléa global et une dispersion aléatoire des poignées produit sans discussion ce que la plupart des gens attendraient de cet effet.

Ayant rapidement présenté plus haut le LPE Afficher les poignées, je finirai ce mois-ci en rentrant un peu plus dans le détail. L'interface utilisateur (UI) de ce LPE est si évidente qu'elle nécessite à peine une mention : les trois cases à cocher affichent/masquent les nœuds, les poignées et le chemin lui-même, alors que le compteur monte/baisse vous permet d'ajuster la taille affichée des poignées et des nœuds.

Compared with many LPEs, this UI is a model of simplicity. But what the UI doesn’t reveal is that there is a major problem with this effect which you really need to be aware of before using it: it completely wipes out any fill or stroke styles you might have applied to the original path. If your final aim is to render the nodes and handles – as in the images in this article – that’s perhaps not so much of a concern. But if you merely want to temporarily see what your chain of effects has done to the path, be aware that turning this LPE off, or even removing it entirely, won’t reinstate your original style settings. To be fair, the first time you try to add this effect in each session you are presented with the chance to back-out: If you press ahead, you’ll find that your path is reduced to a thin, black stroke, with no fill. You can subsequently set a fill or change the stroke, but remember that the output from any LPE is itself a single path (albeit one with sub-paths, in this case), so you can apply only one set of styles to the entire output. In other words, you can’t color the path differently to the handles or nodes – not without using multiple copies or clones of the path, at least.

Par comparaison avec beaucoup de LPE, cet IU est un modèle de simplicité. Mais ce que ne révèle pas cet IU, c'est qu'il y a un problème majeur avec cet effet, dont vous devez vraiment être au courant avant de l'utiliser : il efface définitivement tous les styles de remplissage ou de contour que vous auriez pu appliquer à votre chemin d'origine. Si votre objectif ultime est d'afficher les nœuds et les poignées - comme dans les images de cet article - ce n'est probablement pas un problème. Mais, si vous voulez plutôt voir temporairement ce que votre chaîne d'effets a produit sur votre chemin, soyez informé que la désactivation du LPE, ou même sa complète suppression, ne fera pas réapparaître vos réglages des styles d'origine. Pour être juste, la première fois que vous essayez d'ajouter cet effet dans chaque session, vous avez encore une chance de vous en sortir :

Si vous validez, vous verrez votre chemin réduit à un mince filet noir, sans aucun remplissage. Vous pouvez ensuite ajouter un remplissage ou modifier le contour, mais souvenez-vous que la sortie de tout LPE est elle-même un unique chemin (quoique avec des sous-chemins, dans ce cas) ; aussi, vous ne pouvez appliquer qu'un seul jeu de styles à toute votre sortie. En d'autres termes, vous ne pouvez pas colorier le chemin différemment des nœuds et des poignées, sauf, du moins, à utiliser des copies multiples ou des clones du chemin.

What to do, then, if you do want to use this effect without altering the style of your original path? If you just want to view the results temporarily, perhaps duplicating the original and applying the LPE to the new copy would be sufficient. But if you want the results to hang around a little longer, and therefore stay in sync with any changes to the original, you will have to work on a clone. That might sound simple, but making clones work with LPEs isn’t without its problems. The obvious approach is just to clone the original (select it and press Alt-D). With the clone selected, opening the Live Path Effects dialog will show a message at the bottom saying “Click add button to convert clone” or similar. As soon as you click the “+” button in the dialog to add a new LPE, you’ll find that a “Fill between many” effect is automatically added, and your clone’s fill and stroke become unset. I won’t go into the details of this effect now (but its appearance in this role has promoted it to the subject of next month’s column), but suffice to say that it offers one way to link an existing path into a new LPE chain. You can go ahead and add other effects if you wish – including “Show handles” – but as soon as you try to move the clone to another location, you’ll have problems. It tends to jump back to the position of the original path and although there are ways to persuade it to sit elsewhere, the slightest nudge will send it scurrying back to its parent again. I note in a related bug report that the main developer of LPEs has recently committed some improvements to this effect into the Inkscape trunk, so hopefully we’ll see this addressed in the next release.

Alors, que faire si vous voulez absolument utiliser cet effet sans dégrader le style de votre chemin d'origine ? Si vous voulez juste voir temporairement le résultat, il pourrait être suffisant de dupliquer l'original et d'appliquer le LPE à la nouvelle copie. Mais si vous voulez vous servir du résultat plus avant, et, de plus, rester synchronisé avec toute modification de l'original, vous devrez travailler avec un clone. Ça peut sembler simple, mais le fonctionnement des clones avec les LPE n'est pas sans problème.

L'approche évidente est de cloner l'original (le sélectionner et appuyer sur Alt-D). Le clone étant sélectionné, l'ouverture du dialogue des Effets de chemin affichera en bas un message du genre « Cliquer sur le bouton Ajouter pour convertir un clone ». Dès que vous cliquez sur le bouton « + » dans le dialogue pour ajouter un nouvel effet, vous verrez que l'effet « Remplir dans les nuées » est automatiquement ajouté, et que les remplissage et contour de votre clone deviennent indéfinis. Je ne vais pas rentrer maintenant dans les détails de cet effet (son apparition ici fera de lui le sujet de l'article du mois prochain), mais il suffit de dire qu'il offre une façon de relier un chemin existant à une nouvelle chaîne de LPE. Vous pouvez ajouter d'autres effets si vous le souhaitez - y compris « Afficher les poignées » - mais dès que vous essayez de déplacer le clone ailleurs, vous aurez des problèmes. Il a tendance à revenir à l'emplacement du chemin d'origine et, bien qu'il y ait des manières de le poser ailleurs, la moindre poussée le fera se précipiter à nouveau vers son parent. Je note, dans un rapport de bug récent, que le principal développeur des LPE a récemment réalisé des améliorations à cet effet dans le corps d'Inkscape ; aussi, j'espère que ceci sera réglé dans la prochaine version.

In the meantime, you can use the “Clone original path” LPE that was described in Part 47. In short, the steps you need to perform are: • Select your original path and copy it to the clipboard. • Create a sacrificial path to attach the new LPE to. A simple two-node line will do. • Add the “Clone original path” LPE to the sacrificial path. • Click the “Link to path” button in the LPE dialog (the first of the two buttons in the effect’s UI). • You can freely drag this clone wherever you need to on the page. • Add the “Show handles” LPE to the chain (or, indeed, other LPEs if you wish). Part 47 also describes a shortcut, using Edit > Clone > Clone Original Path (LPE), but that now also applies the “Fill between many” effect, so, until the issues with it are ironed out, it’s probably best to stick with the steps above. Next month, I’ll continue looking at the new LPEs in 0.92, including a closer look at the “Fill between many” effect, and what it can more usefully be used for.

Entre temps, vous pouvez utiliser le LPE « Cloner le chemin original » qui est décrit dans la partie 47. En bref, les étapes que vous devrez suivre sont : • Sélectionner votre chemin original et le copier dans le presse-papier. • Créer un chemin à sacrifier pour lui attacher le nouveau LPE. Une simple ligne à deux nœuds suffit. • Ajouter le LPE « Cloner le chemin original » au chemin à sacrifier. • Cliquer sur le bouton « Chemin lié » dans le dialogue du LPE (le premier des deux boutons dans l'IU de l'effet). • Vous pouvez librement déplacer ce clone là où vous le voulez sur la page. • Ajouter le LPE « Afficher les poignées » à la chaîne (ou, bien sûr, un autre LPE si vous le souhaitez).

La partie 47 décrit aussi un raccourci, en utilisant Éditer > Cloner > Cloner le chemin original (ECI), mais, alors, le LPE « Remplir dans les nuées » est aussi appliqué ; donc, tant que les problèmes n'ont pas été réglés, il vaut probablement mieux se limiter aux étapes ci-dessus.

issue126/inkscape.txt · Dernière modification : 2017/11/07 12:27 de andre_domenech