Outils pour utilisateurs

Outils du site


issue74:inkscape

Ceci est une ancienne révision du document !


Transparency – or its counterpart, opacity – is such a fundamental concept in Inkscape that it was one of the earliest topics covered in this series. Back in Part 3 you were introduced to the Opacity spin-box on the status bar, which gives you the ability to set a single transparency level for a whole object, or even a group of objects. If you want a single object to have varying opacity – such as completely transparent at one end, and opaque at the other – you can use a gradient for the fill and stroke. But what about doing the same for a group of objects? You could set suitable gradients on each individual item in the group separately to get the desired effect, but if your group contains lots of objects, then that approach becomes tedious very quickly. The solution to this problem is masking. This is a technique that uses a grayscale image as a means of specifying the opacity of another object or group. Any white sections in the image cause that part of the masked object to appear opaque. Black sections cause that part to appear transparent. And grays in-between result in varying levels of opacity.

La transparence - ou son homologue , l'opacité - est un concept si fondamental dans Inkscape qu'il a été l'un des premiers sujets abordés dans cette série . Retour à la partie 3, vous avez été présentés à la boîte de modification de l'opacité sur la barre d'état, qui vous donne la possibilité de définir un niveau de transparence unique pour un objet entier, ou même un groupe d'objets .

Si vous voulez qu'un seul objet ait une opacité variable comme - complètement transparent à une extrémité, et opaque à l'autre - vous pouvez utiliser un dégradé pour le remplissage et le trait. Mais en est-il de même pour un groupe d'objets ? Vous pouvez définir des gradients appropriés sur chaque élément dans le groupe séparément pour obtenir l'effet désiré, mais si votre groupe contient beaucoup d'objets, alors l'approche devient pénible très rapidement.

La solution à ce problème est : le masquage. Il s'agit d'une technique fait utilisé une image en niveaux de gris comme un moyen de spécifier l'opacité d'un autre objet ou d'un groupe. Toutes les parties blanches de l'image ont pour conséquence pour les parties de l'objet masquées d'être opaque. Les sections noir ont pour effet que les parties masquées apparaissent transparentes. Et gris entre les deux suite à différents niveaux d'opacité.

Let's look at an example. In this image (below) I've placed a solid red circle on top of a solid green background. The green is there mainly to show the effect more clearly. On top of the circle is a rectangle with a white-black-white gradient. Using this rectangle as a mask for the circle gives the result of a clipped circle that fades from opaque to transparent and back to opaque. Note that anything outside the mask is clipped. In that respect, masking could even be used as an alternative to the clip paths that were introduced in the previous part of this tutorial. Draw your mask entirely in white – or in solid shades of white and black – and any parts of the masked object which lie outside the mask, or which are colored black, will be clipped. Usually I recommend using a clip path in preference to a mask if you simply want a hard clipped edge, but, as we will see later in this article, there are times when it's easier to use a mask.

Regardons un exemple. Dans cette image (ci-dessous), j'ai placé un cercle rouge solide sur un fond vert. Le vert est là principalement pour montrer l'effet plus clairement. Le haut du cercle est un rectangle avec un dégradé blanc-noir-blanc. L'utilisation de ce rectangle comme masque pour le cercle donne le résultat d'un cercle coupé qui passe d'opaque à transparent et puis redevient opaque.

Remarquez que tout ce qui se situe en dehors du masque est tronqué. De fait, le masquage pourrait même être utilisé comme alternative aux chemins de découpe qui ont été présentés dans la partie précédente de ce tutoriel. Dessinez votre masque entièrement en blanc - ou dans des nuances de blanc et de noir - et toutes les parties de l'objet masqué qui se trouvent à l'extérieur du masque, ou qui sont de couleur noire, seront coupées. Habituellement, je recommande d'utiliser un chemin de découpe, de préférence à un masque si vous voulez simplement un bord dur coupé, mais, comme nous le verrons plus tard dans cet article, il y a des moments où il est plus facile d'utiliser un masque

You may recall that the fill and stroke of a clip path are irrelevant to the final effect on the clipped object. With masks, however, the opposite is true – the color of each individual pixel is taken into account when calculating its effect on the masked object, so fills and strokes have significance. Did I say pixel? In a vector format? In practice, there are few cases where an SVG file is actually used as a purely vector format. If you want to display an SVG file on a computer screen, or print it to an inkjet or laser printer, it is ultimately converted to pixels. Masking takes place during this final output step, so although the mask may be made up of vector objects, and the item being masked is also a vector, the final result is really generated only at the point that those vectors are converted to individual pixels for display or printing.

Vous pouvez rappeler que le remplissage et le trait d'un chemin de découpe ne sont pas pertinents pour l'effet final sur l'objet tronqué. Avec les masques, CEPENDANT, le contraire est vrai - la couleur de chaque pixel individuel est pris en compte dans le calcul de son effet sur l'objet masqué, ainsi les remplissages et les traits ont une signification.

Ai-je dit pixel ? Dans un format vectoriel ? Dans la pratique, rares sont les cas où un fichier SVG est effectivement utilisé comme un format purement vectoriel. Si vous souhaitez afficher un fichier SVG sur un écran d'ordinateur, ou l'imprimer sur une imprimante à jet d'encre ou laser, il est converti au final en pixels. Le masquage a lieu lors de cette étape de sortie finale, et ce bien que le masque peut être constitué d'objets vectoriels, et que l'objet masqué est aussi vectoriel, le résultat final n'est vraiment généré qu'uniquement au moment où ces vecteurs sont convertis en pixels individuels pour l'affichage ou l'impression.

Using a thick-stroked rectangle and strictly black or white pixels, it's easy to see the difference between a clip path and the use of a mask to simulate clipping. In the top pair of images, I've used the rectangle as a clip path, and you can see that the result is aligned with the center line of the stroke. The second and third pairs of images show the rectangle being used as a mask, with only white parts remaining and black parts becoming transparent. It's especially clear in the last pair that the stroke has an effect. By now it should be clear that clipping and masking are similar operations, so it's not really surprising that Inkscape exposes them with the same user interface. Just as with clipping, the masking object must be on top of the object to be masked, in terms of the z-index. You then select both items and choose Set Mask from the context menu, or Object > Mask > Set from the main menu. Releasing a masked object is as simple as selecting it (it will be described as “Masked” in the status bar) then choosing Release Mask from the context menu, or Object > Mask > Release from the main menu. Just as with clip paths, it is possible to edit masks using the node tool without releasing them first, but generally there's little benefit to doing so as you can edit only the outline shape of the path, not its color.

Avec l'utilisation d'un rectangle à bordure épaisse et strictement remplis de pixels noirs ou blancs, il est facile de voir la différence entre un chemin de découpe et l'utilisation d'un masque pour simuler la découpe. Dans la première paire d'images ci-dessus, j'ai utilisé le rectangle comme un chemin de découpe, et vous pouvez voir que le résultat est aligné avec l'axe de la bordure. Les deuxième et troisième paires d'images montrent le rectangle utilisé comme un masque, avec uniquement la conservation des parties blanches alors que les parties noirs restantes deviennent transparentes. C'est particulièrement évident dans la dernière paire que la bordure a un effet.

Il devrait maintenant être clair que le découpage et le masquage sont des opérations similaires, il n'est pas vraiment surprenant que Inkscape les propose avec la même interface utilisateur. Tout comme avec la découpe, l'objet de masquage doit être au-dessus de l'objet à masquer, en termes de z-index. Vous sélectionnez ensuite les deux éléments et choisissez Définir un masque dans le menu contextuel, ou Objet > Masque > Définir dans le menu principal. La libération d'un objet masqué est aussi simple que de choisir (il sera décrit comme “masqué” dans la barre d'état), puis en choisissant Retirer le masque dans le menu contextuel, ou Objet > Masque > Retirer dans le menu principal. Tout comme avec les chemins de découpe, il est possible d'éditer des masques en utilisant l'outil de noeud sans les relâcher en premier, mais en général, il y a peu d'avantages à le faire, comme vous pouvez modifier uniquement la forme du contour du chemin, pas sa couleur.

As you've seen, using a grayscale gradient as a mask gives you some control over the opacity of the masked object. You may also recall that Inkscape offers a selection of black and white patterns in its Fill & Stroke dialog, plus a few grayscale bitmap fill patterns. These may previously have seemed rather limiting, but their monochrome nature makes them perfect for use as a mask. The checkerboard pattern is a good example of a situation where it's easier to use a mask than a clip path. This same effect could be achieved by clipping with a complex path, but it's probably not worth the extra effort. Looking closely at the checkerboard, you'll notice that the fill isn't made up of black and white squares, but rather white and transparent. Using white and transparent can sometimes make it easier to see what parts of an object you are masking: white areas will remain visible, and transparent areas will be clipped. A translucent white area will have the same effect as a shade of gray. It may seem counter-intuitive to cover the parts of the object that you want to keep, and expose the parts that will be hidden, but that's the way that masking has been defined in the SVG specification, so that's the way it works in Inkscape.

Comme vous l'avez vu, utiliser un gradient de niveaux de gris comme un masque vous donne un certain contrôle sur l'opacité de l'objet masqué. Vous pouvez également rappeler que Inkscape propose une sélection de modèles noirs et blancs dans son dialogue Remplissage et contour, plus quelques niveaux de gris bitmap en motifs de remplissage. Ceux-ci peuvent déjà avoir semblé plutôt limités, mais leur nature monochrome les rend parfaits pour une utilisation en tant que masque. Le motif en damier est un bon exemple d'une situation où il est plus facile d'utiliser un masque qu'un chemin de découpe. Ce même effet peut être obtenu en coupant avec un chemin complexe, mais ce n'est probablement pas la peine de réaliser cet l'effort supplémentaire. En regardant de près le damier, vous remarquerez que le remplissage n'est pas constitué de carrés noirs et blancs, mais plutôt blanc et transparent. L'utilisation de blanc et de transparent peut parfois rendre plus facile de voir quelles sont les parties d'un objet que vous masquez : les zones blanches restent visibles, et les zones transparentes seront coupés. Une zone blanche translucide aura le même effet qu'une nuance de gris. Il peut sembler contre-intuitif pour couvrir les parties de l'objet que vous souhaitez conserver, et d'exposer les parties qui seront cachées, mais c'est la façon dont masquage a été défini dans la spécification SVG, de sorte que c'est la façon dont cela fonctionne dans Inkscape.

Because clip paths are defined by a boundary and a concept of what's inside and outside that boundary, it's possible to use only a single path or object to define a clipping shape. Masks, on the other hand, are concerned with only the color of pixels, so it doesn't really matter whether your mask is made up of a single object or a whole load of objects inside a group. This allows you to create complex arrangements of colors and patterns which would be impossible to reproduce using a single path. This example uses a group made up of a few random objects as a mask. You can see that the repeating radial gradient of the rectangle, made up of a white-to-transparent transition, results in a similar pattern being visible from the masked red circle. But by adding extra black and white features to the mask group, you can “override” the pattern with explicit sections of transparency and opacity. One thing to note is the place where the black line crosses the white one: because the black line is on top, the pixels at that position are black, so that part of the masked object is transparent. It doesn't matter what's going on within the group, all that matters is the color of the final pixels. This may not be the best piece of abstract art in the world, but it would have been a lot harder to draw without using masks.

Parce que les chemins de découpe sont définis par une limite et un concept de ce qui est à l'intérieur et à l'extérieur de cette limite, il est possible d'utiliser une seule voie ou un objet pour définir une forme de découpage. Les masques, d'autre part, sont concernés par seulement la couleur des pixels, de sorte qu'il n'a pas vraiment d'importance si votre masque est constitué d'un seul objet ou tout un tas d'objets à l'intérieur d'un groupe. Cela vous permet de créer des arrangements complexes de couleurs et de motifs qui seraient impossibles à reproduire en utilisant un seul chemin.

Cet exemple utilise un groupe composé d'un petit nombre d'objets aléatoires en tant que masque. FIXME Vous pouvez voir que le dégradé radial répété du rectangle, composé d'une transition du blanc au transparent, donne le résultat dans un modèle similaire est visible du cercle rouge masqué. Mais en ajoutant des fonctionnalités supplémentaires en noir et blanc pour le groupe de masque, vous pouvez “ annuler ” la tendance aux articles explicites de transparence et d'opacité. Une chose à noter est l'endroit où la ligne noire traverse le blanc : parce que la ligne noire est sur ​​le dessus, les pixels à cette position sont noirs, de sorte qu'une partie de l'objet masqué est transparent. Ce n'est pas grave ce qui se passe au sein du groupe, ce qui compte c'est la couleur finale des pixels. Cela peut ne pas être le meilleur morceau de l'art abstrait dans le monde, mais il aurait été beaucoup plus difficile de leproduire sans l'aide de masques.

Although you can use masks to create complex arrangements of clipping and transparency, probably the most common use is simply to add “feathering” to the edges of a group so that it fades into the background. In that case all you need for your mask design is a strongly blurred white ellipse, as demonstrated in this wholly unseasonal greeting card design. Throughout this article I've referred to masks as being grayscale images. That's not strictly true – a mask can be any combination of colors that you want. However, anything other than white, black or gray will be converted into a grayscale image before it's used as a mask. This can make it difficult to predict the exact effect of a color on the resultant opacity, so I recommend using pure grayscales when drawing your masks in almost all cases.

Bien que vous pouvez utiliser des masques pour créer des arrangements complexes de découpage et de transparence, probablement l'utilisation la plus courante consiste simplement à ajouter des “bavures” sur les bords d'un groupe pour qu'il s'efface. Dans ce cas, tout ce dont vous avez besoin pour votre conception de masque est une ellipse blanche fortement brouillée, comme le montre cette conception de carte de voeux entièrement hors saison.

Tout au long de cet article, j'ai parlé des masques comme étant des images en niveaux de gris. Ce n'est pas tout à fait vrai - un masque peut être n'importe quelle combinaison de couleurs que vous souhaitez. Cependant, autre que le blanc, noir ou gris tout sera convertie en une image en niveaux de gris avant qu'il ne soit utilisé comme un masque. Cela peut rendre difficile de prédire l'effet exact d'une couleur sur l'opacité qui en résulte, ainsi je recommande d'utiliser des niveaux de gris purs lors de l'élaboration de vos masques dans presque tous les cas.

issue74/inkscape.1385291324.txt.gz · Dernière modification : 2013/11/24 12:08 de fcm_-_ekel