Outils pour utilisateurs

Outils du site


issue128:inkscape

Last time I looked at the “Fill Between Many” live path effect, so it makes sense to start this instalment with the closely related “Fill Between Strokes” LPE. I’ll race through this one quickly as, quite honestly, I can see very little benefit in using this effect over its more capable sibling. Whereas “Fill Between Many” allows you to create a new shape that connects numerous individual paths, “Fill Between Strokes” does the same job, but is limited to a single pair of paths. Once again we also need a sacrificial path to which the effect will be applied (and which will be the source of the style for the resultant object). To demonstrate, my test image consists of a couple of black paths, plus a thick red path with a light red fill to use as the sacrificial path. I could have used a simple straight two-node path for the latter, but, by giving it a bit more shape, it’s obvious that there’s a fill applied.

La dernière fois, j'ai regardé l'effet de chemin dynamique (LPE) « Remplir dans les nuées » ; aussi, c'est pertinent de commencer cet article avec le LPE apparenté « Remplir entre les contours ». Je passerai rapidement sur celui-ci car, très honnêtement, je peux voir très peu de bénéfice à utiliser cet effet à la suite de son frère qui a plus de compétences.

Là où « Remplir dans les nuées » vous permet de créer une nouvelle forme qui connecte de nombreux chemins individuels, « Remplir entre les contours » réalise le même travail, mais est limité à une seule paire de chemins. Une fois encore, nous avons besoin d'un chemin à sacrifier auquel l'effet sera appliqué (et qui sera la source du style du chemin résultant). Pour le démontrer, mon image de test consiste en deux chemins noirs, plus un chemin rouge épais avec un remplissage rouge léger, utilisé comme chemin à sacrifier. Pour ce dernier, j'aurai aussi bien pu utiliser un simple chemin droit à deux nœuds, mais, en lui donnant un peu plus de forme, il est évident qu'il possède un remplissage.

The first step is, of course, to select the sacrificial path and apply the LPE. This results in a simple UI in the Live Path Effects dialog. Now we have merely to add the two paths we wish to use. As usual when linking a path in an LPE this is a little contrived; you first have to select the path and copy it to the clipboard, but that de-selects the sacrificial path and you lose the UI in the dialog. Re-select the sacrificial path, then use the first button on the “Linked Path” line to “paste” the link to the path into the effect. Do the same for the second path as well. If necessary, you can reverse the second path using the checkbox, but you can’t reverse the first path other than by changing it directly in your drawing. With those steps performed, the result looks like this. This is almost identical to using “Fill Between Many” with only two paths, except that the resultant path isn’t closed – you can see that the thick red stroke doesn’t continue along the bottom of the shape. Given that this appears to be the only real difference between the two effects, my general recommendation is to just stick with the more versatile “Fill Between Many”.

La première étape est, bien sûr, de sélectionner le chemin sacrifié et de lui appliquer le LPE. Vous aurez ainsi une interface utilisateur simple dans le dialogue de Effets de chemin dynamiques.

Maintenant, nous devons simplement ajouter les deux chemins que nous souhaitons utiliser. Comme d'habitude, quand nous lions un chemin à un LPE, ceci semble un peu artificiel : en premier, vous devez sélectionner le chemin et le copier dans le presse-papier, mais le chemin à sacrifier se dé-sélectionne et vous perdez l'interface utilisateur du dialogue. Re-sélectionnez le chemin à sacrifier, puis utilisez le premier bouton de la ligne « Chemin lié » pour « coller » le lien vers le chemin dans l'effet. Faites de même avec le second chemin. Si nécessaire, vous pouvez inverser le second chemin en utilisant la case à cocher, mais vous ne pouvez pas inverser le premier chemin, sauf à le modifier directement dans votre dessin. Ayant fait cela, le résultat ressemble à ceci.

C'est presque identique à l'utilisation de « Remplir dans les nuées » avec deux chemins, sauf que le chemin résultant n'est pas fermé - vous pouvez voir que le trait rouge brique est interrompu en bas de la forme. Puisque c'est la seule différence notable entre les deux effets, ma recommandation générale est plutôt de s'appuyer sur « Remplir dans les nuées », qui est plus flexible.

Having largely dismissed one not-so-useful effect, let’s take a look at a couple of others. The first is “Transform By 2 Points”. I’m sure most readers are familiar with the “pinch to zoom” effect on smartphones and tablets – and the extended version that includes rotation and panning which is often used in mapping applications. This LPE essentially brings that same functionality to bear on Inkscape paths. On adding this effect to a path, you’ll be presented with a complex looking interface: This is another effect where the UI seems to be upside down – all the interesting things are in the bottom section. The buttons at the bottom act as a set of toggles, enabling and disabling different types of transformation. Begin by activating the “Elastic” and “From original width” buttons. If you now switch to the Node tool (F2) you should see that a thin blue line with diamond handles has appeared on your path.

Ayant en grande partie écarté un effet pas vraiment utile, regardons deux autres effets. Le premier est « Transformation par 2 points ». Je suis sûr que la plupart des lecteurs sont habitués à l'effet « Zoomer à deux doigts » sur les smartphones et tablettes, et la version étendue qui inclut la rotation et le panorama qui est souvent utilisé dans les applications cartographiques. Ce LPE apporte en fait cette même fonctionnalité au profit des chemins dans Inkscape. En ajoutant cet effet à un chemin, vous ferez face à une interface qui parait complexe.

C'est un autre effet où l'interface semble être faite sens dessus dessous : toutes les choses intéressantes sont dans la partie basse. Les boutons du bas agissent comme une série de bascules, activant et désactivant différents types de transformations. Commencez par activer les boutons « Élastique » et « Depuis l'épaisseur originale ». Si vous passez sur l'outil Nœuds (F2), vous devriez voir qu'une fine ligne bleue avec des poignées sur pointes est apparue sur votre chemin.

Drag either of the handles around on the canvas and you’ll see your path dynamically stretch and rotate in a very intuitive manner. Leave the “From original width” button enabled but try toggling some of the others on and off to see what effect they each have. It should be clear that this is a very fast and natural way to transform a path so that it fits in a specific gap, or connects visually to other elements in your drawing. If you turn off the “From original width” toggle you can be even more specific about the path placement. Now the “First Knot” and “Last Knot” fields come into play, by letting you specify nodes in your path that should be used as the start and end of the transformation line. If you need to scale an arbitrary path so that its ends lie at specific points, this will do the trick nicely. I quite like this effect, but I find it disappointing because it’s just that – an effect. It would be so much better to see a transform option like this make its way into the roster of top-level tools in Inkscape. That would allow you to use the same sort of intuitive control whether you’re transforming paths, shapes, groups or even text.

Déplacez l'une ou l'autre de ces poignées sur le canevas et vous verrez votre chemin s'étirer et tourner dynamiquement d'une manière très intuitive. Laissez le bouton « Depuis l'épaisseur originale » activé, mais essayez d'activer/désactiver certains des autres pour voir l'effet de chacun. Il devrait être clair que c'est une façon très rapide et naturelle de transformer un chemin pour qu'il s'ajuste à une zone libre spécifique ou qu'il se connecte visuellement à d'autres éléments de votre dessin.

Si vous désactivez la bascule « Depuis l'épaisseur originale », vous pouvez même être plus précis dans le placement de votre chemin. Maintenant, les champs « Premier nœud » et « Dernier nœud » entrent en jeu, en vous laissant spécifier les nœuds de votre chemin qui seront utilisés comme le début et la fin de votre ligne de transformation. Si vous avez besoin de mettre à l'échelle un chemin arbitraire de sorte que ces terminaisons soient placées à des endroits spécifiques, ceci fera joliment le travail.

J'aime bien cet effet, mais je le trouve décevant, car ce n'est que cela : un effet. Voir une option de transformation comme celle-ci dans la liste des meilleurs outils d'Inkscape serait tellement mieux. L'utilisation du même genre de contrôle intuitif vous serait permis, que vous transformiez des chemins, des formes, des groupes ou même du texte.

Next in the roster of effects is “Interpolate Points”. This simply redraws your path using one of five pre-defined interpolations between the nodes. The UI is so minimal that I’m not even going to bother with a screenshot – it’s just a pop-up menu to let you select the type of interpolation you want to use. There’s no way to change the Bézier handles or otherwise adjust the curves, and the selected interpolation is applied to all the path segments; there’s no way to have different values applied to each individual segment or even sub-path. This effect is probably of most use as part of a chain with other LPEs, when you want to change the output of a previous step from straight lines to curves, or vice-versa – but otherwise there’s rarely any good reason to use this effect in preference to modifying your original path. Here’s an example of a simple path rendered using each of the five options: The last effect I’ll be covering this month is “Join Type”. This lets you set the type of join used between path segments, in much the same manner as the Stroke Style tab of the Fill & Stroke dialog – except that it does have a couple of new tricks up its sleeve, and a big limitation to be aware of. On adding this effect to a path, you’ll be presented with this interface:

Le suivant dans la liste des effets est « Interpoler des points ». Il redessine simplement votre chemin en utilisant l'une des interpolations pré-définies entre les points. L'interface utilisateur est si réduite que je ne me suis pas embêté avec une copie d'écran, c'est juste une liste déroulante qui vous permet de sélectionner le type d'interpolation que vous voulez utiliser. Il n'y a aucun moyen de changer les poignées de Bézier ou d'ajuster les courbes, et l'interpolation sélectionnée s'applique à tous les segments du chemin ; il n'y a pas moyen d'appliquer des valeurs différentes individuellement à chaque segment ou même sous-chemin. Cet effet est probablement à utiliser principalement comme élément d'une chaîne avec d'autres LPE, si vous voulez modifier la sortie de l'étape précédente de lignes droites en courbes ou vice-versa - mais autrement il y a rarement une bonne raison d'utiliser cet effet de préférence à modifier votre chemin original. Voici un exemple du rendu d'un chemin unique utilisant chacune des cinq options :

Le dernier effet dont je parlerai ce mois-ci est « Type de jointure ». Celui-ci vous laisse définir le type de jointure utilisé entre les segments du chemin, de façon assez proche de l'onglet Style de contour du dialogue Remplissage et contour, sauf qu'il a une paire de nouveaux tours dans son sac et une grosse limitation dont il faut se méfier. En ajoutant cet effet à un chemin, vous verrez cette interface :

The Line Cap pop-up offers the usual options of Butt, Rounded and Square line ends. But it adds a new option as well: Peak. This gives the line ends a slight point, but there are no further options to set the size or angle of the shape. It’s certainly no replacement for the Taper Stroke effect. The Line Width control, on the other hand, offers no surprises. It just alters the width of the stroke. The Join pop-up again offers the usual options from the Fill & Stroke dialog (Rounded, Beveled, Mitre), but throws in four types of “Extrapolated Arc” options and “Mitre Clip”. More on those shortly. The Mitre option has the usual Mitre Limit control to set the limit at which really tight corners are rendered as beveled rather than a long, thin mitre – but this effect also offers a Force Mitre checkbox to force all the corners to render as mitres, regardless of the Mitre Limit. This is a nice addition that avoids you trying to work out just how large a limit you need to set if you want all your corners pointed.

La liste déroulante de Couvercle sur la ligne offre les options habituelles de terminaisons Sur le nœud, Arrondi et Carré. Mais une nouvelle option est ajoutée aussi : Sur l'arête. Celle-ci met une petite pointe au bout de la ligne, mais il n'y a pas d'option supplémentaire pour régler la taille ou l'angle de la forme. Ce n'est certainement pas un remplacement de l'effet Contour fuselé. En revanche, le contrôle Largeur de ligne n'offre aucune surprise. Il modifie simplement la largeur du contour.

La liste déroulante Raccord offre les options usuelles du dialogue Remplissage et contour (Arrondi, Biseauté, Raccordé), mais rajoute quatre types d'options « Arc extrapolé » et « Raccordé et coupé ». Je développerai un peu plus tard. L'option Raccordé a l'habituel contrôle de limite de raccord pour régler la limite à laquelle les coins vraiment serrés sont rendus en biseau plutôt qu'en un raccord long et fin, mais cet effet offre aussi une case à cocher Forcer le raccord pour obliger tous les coins a être rendus comme des raccords, quelle que soit la limite de raccord. Ceci est un bon ajout qui évite que vous essayiez de trouver quelle largeur limite vous devez régler si vous voulez que tous vos coins soient pointus.

With the Mitre Clip join type, and Force Mitre turned off, the Mitre Limit control takes on a new purpose. Rather than switching the join to beveled, the mitre is drawn - but cut off, as though truncated by a clipping path, at the length specified in this widget. When dealing with very sharp angles, it provides something of a halfway house between the excessive length of a full mitre and the stubby corner of a bevel. The example below shows a simple path rendered using Beveled, Mitre, Mitre Clip and Rounded joins, with Butt, Peak, Rounded and Square line caps. As for those Extrapolated Arc options – they do for curved lines what Mitre does for straight ones. The example below shows a path made up of a pair of curved lines with a sharp join between them. The first version has a simple Beveled join, the second extends the join linearly with a Mitre, losing the style of the curve in the process. The third version, however, shows the dramatic result of using an Extrapolated Arc.

Avec le type de jointure Raccordé et coupé, et la case Forcer le raccord décochée, la contrôle de limite de raccord a un autre but. Plutôt que de passer la jointure en biseautée, le raccord est dessiné, mais coupé, comme tronqué par un chemin de coupe, à la longueur spécifiée dans ce champ. Quand on traite des angles très aigus, il fournit une solution à mi-chemin entre la longueur excessive d'un raccord complet et l'angle courtaud d'un biseau. L'exemple ci-dessous montre le rendu d'un simple chemin utilisant les jointures Biseauté, Raccordé, Raccordé et coupé et Arrondi, avec des terminaisons de lignes Sur le nœud, Sur l'arête, Arrondi et Carré.

Quant aux options Arc extrapolé, elles font pour les lignes courbes ce que fait Raccordé pour les droites. L'exemple ci-dessous montre un chemin fait de deux lignes courbes avec une jointure aiguë entre elles. La première version a un simple raccord Biseauté, la seconde étire le joint linéairement avec un Raccord, tout en perdant le style de la courbe. Cependant, la troisième version montre le résultat spectaculaire de l'utilisation de l'Arc extrapolé.

The four types of extrapolated arc vary slightly in their rendering in most cases, but the differences can be more pronounced with some paths than others. It’s easiest to just try all of them and see which suits your particular image the best. As with the Interpolate Points LPE, this effect is all-or-nothing. There’s no way to apply different join types to individual nodes, beyond the effects of the mitre limit. So if you want an extrapolated arc in the middle of a series of rounded joins, for example, you’ll have to manually break the path into separate objects and apply the effect to each of them separately.

Les rendus des quatre types d'arcs extrapolés diffèrent légèrement dans la plupart des cas, mais les différences peuvent être plus prononcées avec certains chemins qu'avec d'autres. Le plus facile est de les essayer tous et de voir celui qui convient le mieux à votre image particulière.

Comme avec le LPE Interpoler de points, cet effet est tout ou rien. Il n'y a aucune façon d'appliquer différents types de jointure individuellement à des nœuds, au-delà des effets de la limite de raccord. Aussi, si vous voulez un arc extrapolé au milieu d'une série de joints arrondis, par exemple, vous devrez rompre le chemin manuellement en objets séparés et appliquer l'effet sur chacun d'eux séparément.

Now for the elephant in the room – and it’s the usual pachyderm that we’ve encountered numerous times when looking at path effects. In order to remain compatible with SVG, the Inkscape developers haven’t just added their own line cap and join types to the file format. Instead, as with the Power Stroke and Taper Stroke effects, the results you see here are produced by rendering the path as a filled object. So if you want to use the beautiful extrapolated arcs (or the less impressive peak cap) on an object with a fill, you’ll have to use one of the usual roster of workarounds that I’ve covered in the past – whether that’s manually maintaining a second copy of the object to hold the fill, or using the Fill Between Many LPE to create a clone of your shape for filling. This month, I’ve looked at what I consider to be some of the less useful new effects. They all have some interesting capabilities, but they also largely overlap with the functionality of other effects or tools. That’s not to dismiss them out of hand, as they do have the ability to fill specific niche use-cases, but I doubt they’ll ever be counted amongst the more commonly used tools in your Inkscape toolbox.

Maintenant, passons à l'éléphant dans le magasin de porcelaine - et c'est le pachyderme habituel que nous avons rencontré de nombreuses fois en étudiant les effets de chemin. De façon à rester compatible avec SVG, les développeurs d'Inkscape n'ont pas simplement ajouté leur propre fin de ligne et leurs types de jointures au format de fichiers. À la place, comme pour les effets Contour dynamique et Contour fuselé, les résultats que vous voyez ici sont produits par le rendu du chemin comme un objet rempli. Aussi, si vous voulez utiliser les beaux arcs extrapolés (ou la moins impressionnante terminaison en arête) sur un objet avec un remplissage, vous devrez utiliser un élément de la liste habituelle des solutions de contournement que j'ai décrites dans le passé, que ce soit en gérant un seconde copie de l'objet pour conserver le remplissage, ou en utilisant le LPE Remplir dans les nuées pour créer un clone de votre forme à remplir.

Ce mois-ci, j'ai regardé ce que je considère comme de nouveaux effets d'utilité moindre. Ils ont tous des possibilités intéressantes, mais ils se recouvrent largement avec les fonctionnalités d'autres effets ou outils. Ils ne sont pas à rejeter pour autant, car ils sont capables d'être utiles dans certains cas rares, mais je doute qu'ils puissent être jamais comptés parmi les plus utilisés de votre boîte à outils d'Inkscape.

issue128/inkscape.txt · Dernière modification : 2018/01/15 15:22 de andre_domenech