issue162:inkscape
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
issue162:inkscape [2020/11/01 13:30] – créée auntiee | issue162:inkscape [2020/11/09 10:35] (Version actuelle) – auntiee | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | As you may have noticed in the News section of the previous edition of FCM, a new minor release of Inkscape is out. As is often the case with these things, the announcement came only a couple of days after the deadline for my previous article. As it turns out, version 1.0.1 doesn’t fix any of the issues I’ve raised in recent months, or change any of the features that I’ve described. Phew! No corrections required. | + | **As you may have noticed in the News section of the previous edition of FCM, a new minor release of Inkscape is out. As is often the case with these things, the announcement came only a couple of days after the deadline for my previous article. As it turns out, version 1.0.1 doesn’t fix any of the issues I’ve raised in recent months, or change any of the features that I’ve described. Phew! No corrections required. |
- | So what is new in the latest release? It’s mostly bug fixes and stability improvements, | + | So what is new in the latest release? It’s mostly bug fixes and stability improvements, |
- | ‘Path > Object to Path’ is a mainstay of any experienced | + | Comme vous l'avez peut-être remarqué dans la section Actualités de l' |
- | There’s nothing controversial about Object to Path. The end result maintains its fill and stroke properties, so there’s no visual change as a result of the operation. All that’s happened is that your native Inkscape object becomes a generic path of the same size, shape and appearance. | + | Quelles sont les nouveautés de la dernière version ? Il s'agit principalement de corrections de bogues et d' |
- | Despite the similar name, however, | + | **‘Path > Object |
- | The top line is our original path, consisting of two nodes, no fill, and a thick, red stroke. As a rule it’s easiest to understand what Inkscape | + | There’s nothing controversial about Object to Path. The end result maintains its fill and stroke |
- | The bottom line is the result of the Stroke to Path operation. You can see that what we now have is a filled path consisting of four nodes arranged to match the original stroke’s outline. The fact that it’s a filled path is a really important point to grasp: the original shape had a stroke but no fill, whereas the new shape has a fill but no stroke. The fill color of the new shape is the same as that of the original’s stroke color in order to produce a result that is visually identical. | + | La fonction « Chemin > Objet en chemin » est un élément essentiel pour tout utilisateur expérimenté d' |
- | Why would you want to perform such a conversion? Consider trying to make a line that looks a little more hand-drawn. SVG has no support for variable width strokes, but you can fake it by converting your stroke to a path and then tweaking the shape. | + | Il n' |
- | These days Inkscape can simulate variable width strokes using Live Path Effects, but that wasn’t always the case. The LPE approach also supports varying the thickness only symmetrically, | + | **Despite the similar name, however, Path > Stroke to Path is an entirely different beast. At its core it converts any stroke that you may have on your object into a new filled path which matches the stroke’s original outline. If it sounds confusing, perhaps some examples will help. Let’s start with the simplest example possible: a straight line. |
+ | |||
+ | The top line is our original path, consisting of two nodes, no fill, and a thick, red stroke. As a rule it’s easiest to understand what Inkscape is doing when applied to thick strokes, but everything I describe can also be done with thinner strokes if that suits your requirements.** | ||
+ | |||
+ | Cependant, malgré le nom similaire, Chemin > Contour en Chemin est un animal totalement différent. En effet, il convertit tous les traits que vous pouvez avoir sur votre objet en un nouveau chemin rempli qui correspond au contour original du trait. Si cela vous paraît déroutant, quelques exemples vous aideront peut-être. Commençons par l' | ||
+ | |||
+ | La ligne du haut est notre chemin d' | ||
+ | |||
+ | **The bottom line is the result of the Stroke to Path operation. You can see that what we now have is a filled path consisting of four nodes arranged to match the original stroke’s outline. The fact that it’s a filled path is a really important point to grasp: the original shape had a stroke but no fill, whereas the new shape has a fill but no stroke. The fill color of the new shape is the same as that of the original’s stroke color in order to produce a result that is visually identical. | ||
+ | |||
+ | Why would you want to perform such a conversion? Consider trying to make a line that looks a little more hand-drawn. SVG has no support for variable width strokes, but you can fake it by converting your stroke to a path and then tweaking the shape.** | ||
+ | |||
+ | La ligne du bas est le résultat de l' | ||
+ | |||
+ | Pourquoi voudriez-vous effectuer une telle conversion ? Envisagez d' | ||
+ | |||
+ | **These days Inkscape can simulate variable width strokes using Live Path Effects, but that wasn’t always the case. The LPE approach also supports varying the thickness only symmetrically, | ||
Let’s look at a more complicated example. This time we’ll jump straight to a multi-segment line with a dashed stroke applied. Once again the original line is at the top, and the bottom shows the effect of converting the stroke to a path. | Let’s look at a more complicated example. This time we’ll jump straight to a multi-segment line with a dashed stroke applied. Once again the original line is at the top, and the bottom shows the effect of converting the stroke to a path. | ||
- | Our converted line is starting to look a bit more interesting. Instead of a simple filled path, we now have a complex path, consisting of a number of filled sub-paths which match the visual appearance of the original line. | + | Our converted line is starting to look a bit more interesting. Instead of a simple filled path, we now have a complex path, consisting of a number of filled sub-paths which match the visual appearance of the original line.** |
- | At first, this can be a little tricky to get your head around. Because the resultant shape still looks the same, it’s not obvious that it’s actually now a filled path that has no stroke. Like any other path, you can actually add a stroke to it; here’s the same result but with a thin, dashed, black stroke added to the converted line: | + | De nos jours, Inkscape peut simuler des traits de largeur variable en utilisant les Effets de chemin dynamiques (LPE), mais cela n'a pas toujours été le cas. L' |
- | Hopefully it’s now pretty clear what Stroke to Path does when presented with the simple case of an object with just a stroke applied. But what happens when your object is a bit more complex? Here’s a line with a stroke applied, but also with markers at the start, end, and at each intermediate node. | + | Examinons un exemple plus compliqué. Cette fois-ci, nous allons passer directement à une ligne multi-segments faite avec un trait en pointillé. Une fois de plus, la ligne d' |
- | What do you think should happen when Stroke to Path is applied to this object? To my mind there are three possible alternatives: | + | Notre ligne convertie commence à être un peu plus intéressante. Au lieu d'un simple chemin rempli, nous avons maintenant un chemin complexe, composé d'un certain nombre de sous-chemins remplis qui correspondent à l' |
+ | |||
+ | **At first, this can be a little tricky to get your head around. Because the resultant shape still looks the same, it’s not obvious that it’s actually now a filled path that has no stroke. Like any other path, you can actually add a stroke to it; here’s the same result but with a thin, dashed, black stroke added to the converted line: | ||
+ | |||
+ | Hopefully it’s now pretty clear what Stroke to Path does when presented with the simple case of an object with just a stroke applied. But what happens when your object is a bit more complex? Here’s a line with a stroke applied, but also with markers at the start, end, and at each intermediate node.** | ||
+ | |||
+ | Au début, cela peut être un peu difficile à comprendre. Comme la forme résultante est toujours la même, il n'est pas évident qu'il s' | ||
+ | |||
+ | Heureusement, | ||
+ | |||
+ | **What do you think should happen when Stroke to Path is applied to this object? To my mind there are three possible alternatives: | ||
• Remove the markers and convert the stroke as before. | • Remove the markers and convert the stroke as before. | ||
• Convert the stroke, but also turn the markers into filled paths. | • Convert the stroke, but also turn the markers into filled paths. | ||
• Convert the stroke, but copy the markers to the new paths, so that each sub-path ends up with multiple markers. | • Convert the stroke, but copy the markers to the new paths, so that each sub-path ends up with multiple markers. | ||
- | Really old versions of Inkscape went with option 1. Stroke to Path converted the stroke to a path, and ignored everything else. But since version 0.44 (released in 2006), Inkscape uses the second option (no version uses the third option). This, however, is where not-so-subtle differences in behaviour for 1.0.x start to creep in. | + | Really old versions of Inkscape went with option 1. Stroke to Path converted the stroke to a path, and ignored everything else. But since version 0.44 (released in 2006), Inkscape uses the second option (no version uses the third option). This, however, is where not-so-subtle differences in behaviour for 1.0.x start to creep in.** |
- | Consider the shape above. Up to version 0.92 using Stroke to Path on this would have created a group containing five objects: the complex path generated by converting the stroke, and a separate path for each marker. In version 1.0.x the result is somewhat different. Now the output is a group containing two elements: the complex path, plus a nested group which contains four more deeply nested groups – one for each marker. Each of those marker groups contains two paths, one each for the fill and the stroke of the marker. Yes, I said the stroke of the marker. I know you probably weren’t even aware of markers having a separate stroke, but apparently they do and they’re now converted into a path of their own. | + | Que pensez-vous qu'il devrait se passer lorsque l' |
+ | ••Retirer les marqueurs et convertir le trait comme auparavant. | ||
+ | ••Convertir le trait, mais aussi transformer les marqueurs en chemins remplis. | ||
+ | ••Convertir le trait, mais copier les marqueurs dans les nouveaux chemins, de sorte que chaque sous-chemin se retrouve avec plusieurs marqueurs. | ||
- | If this sounds a little confusing, perhaps an image of the structure will help. On the left we have the Objects dialog from 0.92, and on the right we have one from 1.0.1 (excuse the different themes – the 1.0.1 snap is still broken with the standard theme, so I’m using the symbolic theme): | + | Les très anciennes versions d' |
- | As you can see, the structures are substantially different. If you do want to convert | + | **Consider |
- | For most users, | + | If this sounds |
- | The obvious take-away from this is that 0.92 removes the fill entirely before the stroke is converted to a path. I’ve shown both closed and open shapes to make it clear that the behaviour is the same in both cases. Structurally, you end up with a single filled path, just the same as you would if you’d performed the conversion on a shape with no fill or markers, the same as the first example I showed in this article. | + | Considérez la forme ci-dessus. Jusqu' |
- | Since version 1.0, however, performing a Stroke to Path operation on a shape with a fill results in a group that contains two filled paths: one is the usual path following the shape of the original stroke, whilst the other is a path representing the fill (i.e. it’s just a copy of the original path, but without the stroke). The end result is visually identical to the original object. | + | Si cela vous semble un peu déroutant, peut-être qu'une image de la structure vous aidera. À gauche, nous avons le dialogue des Objets de la version |
- | As I’m sure you’ve guessed by now, performing a Stroke to Path on a shape with the holy trinity of stroke, fill and markers, results in a group containing: | + | **As you can see, the structures are substantially different. If you do want to convert a 1.0 arrangement to the old structure, it’s quite simple: you just need to use Path > Union on each pair of marker paths (this is easier if you select them in the Objects dialog rather than on-canvas), then select the group that contains the markers (i.e. not the top-level group, but the one just inside that), then repeatedly ungroup until you’re left with a structure that looks like the one in the 0.92 dialog. Yes, “it’s quite simple” was sarcasm. |
+ | |||
+ | For most users, this may never present a problem. The sort of use-case that requires you to add markers to your path does not generally intersect much with the use-cases for converting the stroke to a path. So, let’s look at a far more common scenario: a path with both a stroke and a fill, but no markers. Here’s what happens in 0.92.x, again with the original shapes at the top, and the Stroke to Path conversions at the bottom:** | ||
+ | |||
+ | Comme vous pouvez le voir, les structures sont sensiblement différentes. Si vous voulez convertir un arrangement 1.0 en ancienne structure, c'est très simple : il suffit d' | ||
+ | |||
+ | Pour la plupart des utilisateurs, | ||
+ | |||
+ | **The obvious take-away from this is that 0.92 removes the fill entirely before the stroke is converted to a path. I’ve shown both closed and open shapes to make it clear that the behaviour is the same in both cases. Structurally, | ||
+ | |||
+ | Since version 1.0, however, performing a Stroke to Path operation on a shape with a fill results in a group that contains two filled paths: one is the usual path following the shape of the original stroke, whilst the other is a path representing the fill (i.e. it’s just a copy of the original path, but without the stroke). The end result is visually identical to the original object.** | ||
+ | |||
+ | Ce qu'il faut retenir de cette conversion est que, dans la 0,92, le remplissage est entièrement supprimé avant que le contour ne soit converti en chemin. J'ai montré des formes ouvertes et fermées pour montrer clairement que le comportement est le même dans les deux cas. Structurellement, | ||
+ | |||
+ | Depuis la version 1.0, cependant, l' | ||
+ | |||
+ | **As I’m sure you’ve guessed by now, performing a Stroke to Path on a shape with the holy trinity of stroke, fill and markers, results in a group containing: | ||
• A path for the stroke | • A path for the stroke | ||
• A path for the fill | • A path for the fill | ||
• A group containing an individual group for each marker, with each of those groups containing a path for the marker’s stroke and a path for the marker’s fill. | • A group containing an individual group for each marker, with each of those groups containing a path for the marker’s stroke and a path for the marker’s fill. | ||
- | There are a few things to unpick from these changes. First of all, if you have an object with just a stroke then the behaviour is the same as it has always been: you end up with a single filled path, which will have sub-paths if the stroke was dashed. | + | There are a few things to unpick from these changes. First of all, if you have an object with just a stroke then the behaviour is the same as it has always been: you end up with a single filled path, which will have sub-paths if the stroke was dashed.** |
- | If your path has a stroke and a fill, however, you’ll now end up with a group, rather than the fill being thrown away. This is particularly important to note if following an older tutorial. Many of them either rely on the fill being removed, or instruct you to duplicate the object before applying Stroke to Path so that you don’t lose the fill. To get the same result as earlier versions, you can do one of two things: | + | Comme vous l'avez sûrement deviné, en effectuant un Contour en Chemin sur une forme avec la trinité sacrée du contour, du remplissage et des marqueurs, le résultat obtenu est un groupe contenant : |
+ | ••Un chemin pour le contour | ||
+ | ••Un chemin pour le remplissage | ||
+ | ••Un groupe contenant un groupe individuel pour chaque marqueur, chacun de ces groupes contenant un chemin pour le contour du marqueur et un chemin pour le remplissage du marqueur. | ||
+ | |||
+ | Il y a quelques points à tirer de ces changements. Tout d' | ||
+ | |||
+ | **If your path has a stroke and a fill, however, you’ll now end up with a group, rather than the fill being thrown away. This is particularly important to note if following an older tutorial. Many of them either rely on the fill being removed, or instruct you to duplicate the object before applying Stroke to Path so that you don’t lose the fill. To get the same result as earlier versions, you can do one of two things: | ||
• Remove the fill before using Stroke to Path. | • Remove the fill before using Stroke to Path. | ||
• After using Stroke to Path, ungroup the result and delete the new path containing the fill (or just keep it, if you need it for subsequent steps). | • After using Stroke to Path, ungroup the result and delete the new path containing the fill (or just keep it, if you need it for subsequent steps). | ||
- | Despite the confusion this change has caused with some new users, I generally think it’s an improvement. Consider the case of drawing a simple cartoon character, with thick black outlines (strokes), and colored clothes and skin (fill). If you want to add some variety to the stroke thickness, the new behaviour makes it easier to do so without having to duplicate every object, then remove its stroke, just to keep a copy of the filled shape. | + | Despite the confusion this change has caused with some new users, I generally think it’s an improvement. Consider the case of drawing a simple cartoon character, with thick black outlines (strokes), and colored clothes and skin (fill). If you want to add some variety to the stroke thickness, the new behaviour makes it easier to do so without having to duplicate every object, then remove its stroke, just to keep a copy of the filled shape.** |
- | Markers are another matter, however. While dealing with an unwanted fill just requires a couple of extra steps, getting the 0.92 structure when markers are in play requires several steps – multiplied by the number of markers – with no easy shortcuts. Although the new functionality may technically be more flexible, in practice there are few use-cases for separating the fill and stroke on a marker. It would have been nice to either have the old method available as a preference, or to include a function or extension that would make it easy to union deeply nested paths and recursively pop them out of their groups. | + | En revanche, si votre chemin comporte un contour et un remplissage, |
+ | ••Supprimer le remplissage avant d' | ||
+ | ••Après avoir utilisé Contour en Chemin, dégroupez le résultat et supprimez le nouveau chemin contenant le remplissage (ou conservez-le simplement, si vous en avez besoin pour les étapes suivantes). | ||
+ | |||
+ | Malgré la confusion que ce changement a provoquée chez certains nouveaux utilisateurs, | ||
+ | |||
+ | **Markers are another matter, however. While dealing with an unwanted fill just requires a couple of extra steps, getting the 0.92 structure when markers are in play requires several steps – multiplied by the number of markers – with no easy shortcuts. Although the new functionality may technically be more flexible, in practice there are few use-cases for separating the fill and stroke on a marker. It would have been nice to either have the old method available as a preference, or to include a function or extension that would make it easy to union deeply nested paths and recursively pop them out of their groups. | ||
The take-away from all this is that Object to Path still behaves the same way it always did, Stroke to Path may need an extra step or two if you have a fill, but if you have markers as well then good luck to you! | The take-away from all this is that Object to Path still behaves the same way it always did, Stroke to Path may need an extra step or two if you have a fill, but if you have markers as well then good luck to you! | ||
- | Next time, I’ll start to look at the changes to core drawing tools made with version 1.0. | + | Next time, I’ll start to look at the changes to core drawing tools made with version 1.0. ** |
+ | |||
+ | Mais les marqueurs sont une autre histoire. Alors que le traitement d'un remplissage indésirable ne nécessite que quelques étapes supplémentaires, | ||
+ | |||
+ | Ce qu'il faut retenir de tout cela est que Objet en Chemin se comporte toujours de la même manière, Contour en Chemin peut nécessiter une ou deux étapes supplémentaires si vous avez un remplissage, | ||
+ | La prochaine fois, je commencerai à examiner les modifications apportées aux outils de dessin de base dans la version 1.0. |
issue162/inkscape.1604233816.txt.gz · Dernière modification : 2020/11/01 13:30 de auntiee