Outils pour utilisateurs

Outils du site


issue109: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
issue109:inkscape [2016/06/05 11:52] andre_domenechissue109:inkscape [2016/06/06 10:21] (Version actuelle) auntiee
Ligne 11: Ligne 11:
 One problem with our drop shadow is that it's based on the Source Alpha of the original object, which is essentially a black silhouette. But what if you want your shadow to be more translucent – gray rather than black – or you want it to have a different color entirely? There is a filter primitive that lets us manipulate the color of the image in the chain, but unfortunately it's another case of a confusing UI that could have been made a lot more obvious.** One problem with our drop shadow is that it's based on the Source Alpha of the original object, which is essentially a black silhouette. But what if you want your shadow to be more translucent – gray rather than black – or you want it to have a different color entirely? There is a filter primitive that lets us manipulate the color of the image in the chain, but unfortunately it's another case of a confusing UI that could have been made a lot more obvious.**
  
-Ici, j'ai utilisé des boîtes bleues pour les primitives, vertes pour les source d'image et bleu sarcelle pour la sortie finale. La boîte grise montre simplement le résultat intermédiaire que vous pourriez voir si vous pouviez avoir un aperçu à cet endroit. J'espère que vous pouvez voir la correspondance de cette disposition avec l'interface d'Inkscape, et j'utiliserai cette approche pour décrire des filtres plus complexes dans la suite de cette série.+Ici, j'ai utilisé des boîtes bleues pour les primitives, vertes pour les sources d'image et bleu sarcelle pour la sortie finale. La boîte grise montre simplement le résultat intermédiaire que vous pourriez voir si vous pouviez avoir un aperçu à cet endroit. J'espère que vous pouvez voir la correspondance de cette disposition avec l'interface d'Inkscape, et j'utiliserai cette approche pour décrire des filtres plus complexes dans la suite de cette série.
  
 Un problème de notre ombre portée est qu'elle est basée sur l'opacité de la source de l'objet original, qui est est en fait une silhouette noire. Mais que ce passe-t-il si vous voulez que votre ombre soit plus translucide - grise au lieu de noire - ou si vous voulez qu'elle soit d'une couleur complètement différente ? Il y a une primitive de filtrage qui vous permet de manipuler la couleur de l'image dans la chaîne, mais, malheureusement, c'est un nouveau cas d'une interface confuse qui aurait pu être réalisée d'une manière beaucoup plus évidente. Un problème de notre ombre portée est qu'elle est basée sur l'opacité de la source de l'objet original, qui est est en fait une silhouette noire. Mais que ce passe-t-il si vous voulez que votre ombre soit plus translucide - grise au lieu de noire - ou si vous voulez qu'elle soit d'une couleur complètement différente ? Il y a une primitive de filtrage qui vous permet de manipuler la couleur de l'image dans la chaîne, mais, malheureusement, c'est un nouveau cas d'une interface confuse qui aurait pu être réalisée d'une manière beaucoup plus évidente.
Ligne 19: Ligne 19:
 With the Color Matrix primitive selected, take a look at the parameters at the bottom of the dialog. First there is a Type pop-up which lets you select between four different varieties of color manipulation. Three of them have simple, easy-to-use interfaces… so of course we need the other one! Select the Matrix option (this is also the default when you first add the primitive), and you'll be presented with a grid of numbers with little extra explanation (there is a lengthy tooltip, but I'm not sure it helps very much).** With the Color Matrix primitive selected, take a look at the parameters at the bottom of the dialog. First there is a Type pop-up which lets you select between four different varieties of color manipulation. Three of them have simple, easy-to-use interfaces… so of course we need the other one! Select the Matrix option (this is also the default when you first add the primitive), and you'll be presented with a grid of numbers with little extra explanation (there is a lengthy tooltip, but I'm not sure it helps very much).**
  
-Commencez par ajouter la primitive Matrice de couleurs à votre filtre. Elle apparaîtra en bas de la chaîne, mais vous pouvez la tirer à un autre endroit. Nous commencerons par modifier l'opacité de l'ombre ; aussi, soit nous devons aller après l'étape du flou gaussien (pour changer l'opacité de l'image déjà floutée), soit directement en haut de la chaîne (pour changer l'opacité avant l'application du flou). Les deux approches vont donner à peu près le même résultat ; aussi, j'ai choisi de la mettre en haut de la liste. Ensuite, vous devez modifier les connexions de sorte que la matrice de couleurs prenne son entrée dans la colonne Opacité de la source et que le flou gaussien prenne la sienne à la sortie de la primitive Matrice des couleurs.+Commencez par ajouter la primitive Matrice de couleurs à votre filtre. Elle apparaîtra en bas de la chaîne, mais vous pouvez la tirer à un autre endroit. Nous commencerons par modifier l'opacité de l'ombre ; aussi, soit il doit aller après l'étape du flou gaussien (pour changer l'opacité de l'image déjà floutée), soit directement en haut de la chaîne (pour changer l'opacité avant l'application du flou). Les deux approches vont donner à peu près le même résultat ; aussi, j'ai choisi de la mettre en haut de la liste. Ensuite, vous devez modifier les connexions de sorte que la matrice de couleurs prenne son entrée dans la colonne Opacité de la source et que le flou gaussien prenne la sienne à la sortie de la primitive Matrice des couleurs.
  
-Ayant sélectionné la primitive Matrice des couleurs, regardez les paramètres en bas du dialogue. D'abord, il y a une liste déroulante Type qui vous permet une sélection entre quatre variétés différentes de manipulation des couleurs. Trois d'entre elles ont des interfaces simples et faciles d'utilisation..., mais nous avons bien sûr besoin de l'autre ! Sélectionnez l'option Matrice (qui est l'option par défaut quand vous ajoutez la primitive en premier) et vous allez voir une grille de nombres avec peu d'explication complémentaire (il y a une longue info-bulle, mais je ne suis pas sûr que ça aide beaucoup).+Ayant sélectionné la primitive Matrice des couleurs, regardez les paramètres en bas du dialogue. D'abord, il y a une liste déroulante Type qui vous permet une sélection entre quatre variétés différentes de manipulation des couleurs. Trois d'entre elles ont des interfaces simples et faciles d'utilisation..., mais nous avons bien sûr besoin de l'autre ! Sélectionnez l'option Matrice (qui est l'option par défaut quand vous ajoutez la primitive en premier) et vous allez voir une grille de nombres avec peu d'explications complémentaires (il y a une longue info-bulle, mais je ne suis pas sûr que ça aide beaucoup).
  
 **Above is that same matrix, presented with some headings to help clarify things: **Above is that same matrix, presented with some headings to help clarify things:
Ligne 35: Ligne 35:
 Souvenez-vous que les filtres sont une façon de manipuler la version bitmap de votre image vectorielle, juste au moment où elle est convertie en pixels. Cette matrice contient principalement quelques règles définissant comment chaque pixel individuel de votre image d'entrée devra être converti pour produire le pixel correspondant de l'image de sortie. Souvenez-vous que les filtres sont une façon de manipuler la version bitmap de votre image vectorielle, juste au moment où elle est convertie en pixels. Cette matrice contient principalement quelques règles définissant comment chaque pixel individuel de votre image d'entrée devra être converti pour produire le pixel correspondant de l'image de sortie.
  
-Prenons la rangée du haut comme exemple. Supposez que le premier pixel de votre image ait la valeur RGB (150, 128, 255) et qu'il soit complètement opaque (valeur Alpha de 255). Pour calculer la couleur du pixel de sortie, nous devons calculer séparément les valeurs R, G, B et A (rouge, vert, bleu, alpha) séparément - la rangée du haut n'est en lien qu'avec la composante Rouge du pixel. La formule pour calculer la sortie Rouge du pixel est :+Prenons la rangée du haut comme exemple. Supposez que le premier pixel de votre image ait la valeur RGB (150, 128, 255) et qu'il soit complètement opaque (valeur Alpha de 255). Pour calculer la couleur du pixel de sortie, nous devons calculer séparément les valeurs R, G, B et A (rouge, vert, bleu, alpha) - la rangée du haut n'est en lien qu'avec la composante Rouge du pixel. La formule pour calculer la sortie Rouge du pixel est :
  
 ROUT = (RIN × 1,00) + (GIN × 0,00) + (BIN × 0,00) + (AIN × 0,00) + (255 × 0,00) ROUT = (RIN × 1,00) + (GIN × 0,00) + (BIN × 0,00) + (AIN × 0,00) + (255 × 0,00)
Ligne 45: Ligne 45:
 Dans la formule, les nombres en gras sont pris dans la première ligne de la matrice. Il est évident que seule la première valeur a un effet dans ce cas, car toutes les autres sont à zéro ; ainsi, ROUT est simplement égal à RIN x 1,00. Dit autrement, avec ces valeurs, la composante rouge est transmise intacte, avec une valeur de 150. Si vous répétez ce processus pour chacune des trois lignes restantes, vous verrez que la matrice de couleur par défaut transmet la couleur d'entrée à la sortie sans la modifier. C'est une matrice « identité », en termes mathématiques. Parce que la même matrice est utilisée pour tous les pixels de l'image d'entrée, il en résulte que la primitive de filtrage copiera simplement l'image d'entrée directement à la sortie sans aucune modification. Dans la formule, les nombres en gras sont pris dans la première ligne de la matrice. Il est évident que seule la première valeur a un effet dans ce cas, car toutes les autres sont à zéro ; ainsi, ROUT est simplement égal à RIN x 1,00. Dit autrement, avec ces valeurs, la composante rouge est transmise intacte, avec une valeur de 150. Si vous répétez ce processus pour chacune des trois lignes restantes, vous verrez que la matrice de couleur par défaut transmet la couleur d'entrée à la sortie sans la modifier. C'est une matrice « identité », en termes mathématiques. Parce que la même matrice est utilisée pour tous les pixels de l'image d'entrée, il en résulte que la primitive de filtrage copiera simplement l'image d'entrée directement à la sortie sans aucune modification.
  
-Pour rendre l'ombre portée plus translucide, nous devons modifier la valeur Alpha de sortie. Sur la ligne du bas de la matrice, cliquez sur le champ 1,00 et modifiez-le en 0,50 puis appuyez sur Retour ou sur la touche Entrée. Vous allez voir immédiatement l'ombre portée changer. Vous pouvez choisir n'importe quelle valeur que vous souhaitez (entre 0,00 et 1,00) de façon à créer une ombre plus claire ou plus sombre.+Pour rendre l'ombre portée plus translucide, nous devons modifier la valeur Alpha de sortie. Sur la ligne du bas de la matrice, cliquez sur le champ 1,00 et modifiez-le en 0,50 puis appuyez sur Retour ou sur la touche Entrée. Vous allez voir l'ombre portée changer immédiatement. Vous pouvez choisir n'importe quelle valeur que vous souhaitez (entre 0,00 et 1,00) de façon à créer une ombre plus claire ou plus sombre.
  
 **What about changing the color of the shadow? There are a few ways to go about this, but we'll start by using the fourth column in the Color Matrix – the one labelled as “Fixed Offset” in my diagram. Consider that the black pixels in the Source Alpha image have an RGBA value of (0, 0, 0, 1) – with all those zeros it's clear that no amount of multiplication will change the output of the red, green and blue components. But the fourth column lets us add (or subtract) a fixed value. If you change the fourth column on the third row to 0.80, the formula for the blue component of the output pixels becomes: **What about changing the color of the shadow? There are a few ways to go about this, but we'll start by using the fourth column in the Color Matrix – the one labelled as “Fixed Offset” in my diagram. Consider that the black pixels in the Source Alpha image have an RGBA value of (0, 0, 0, 1) – with all those zeros it's clear that no amount of multiplication will change the output of the red, green and blue components. But the fourth column lets us add (or subtract) a fixed value. If you change the fourth column on the third row to 0.80, the formula for the blue component of the output pixels becomes:
Ligne 57: Ligne 57:
 BOUT = (RIN × 0,00) + (GIN × 0,00) + (BIN × 1,00) + (AIN × 0,00) + (255 × 0,80) BOUT = (RIN × 0,00) + (GIN × 0,00) + (BIN × 1,00) + (AIN × 0,00) + (255 × 0,80)
  
-Les valeurs R, G et B de la multiplication tombent toutes à zéro, mais comme nous ajoutons 255 x 0.80 au résultat, nous obtenons une composante bleue de 204 comme résultat. Notre valeur de sortie RGBA devient (0, 0, 204, 1), nous donnant une ombre portée bleue. Essayez aussi de changer les valeurs des décalages fixes pour R et G, et vous verrez rapidement que vous pouvez utiliser cette technique pour réaliser n'importe quelle couleur d'ombre, toutes à partir de notre silhouette noire.+Les valeurs R, G et B de la multiplication tombent toutes à zéro, mais comme nous ajoutons 255 x 0.80 au résultat, nous obtenons une composante bleue de 204 comme résultat. Notre valeur de sortie RGBA devient (0, 0, 204, 1), donnant une ombre portée bleue. Essayez aussi de changer les valeurs des décalages fixes pour R et G, et vous verrez rapidement que vous pouvez utiliser cette technique pour réaliser n'importe quelle couleur d'ombre, toutes à partir de notre silhouette noire.
  
 **How about using the Color Matrix filter to go in the opposite direction – to generate a black shadow from a colored one? No problem, but first you'll need a colored image to work with. The easiest option is to move the input connection from Source Alpha to Source Graphic. You should also change your Color Matrix values back to the identity matrix to give you a known state to start from. With that done, your drop shadow should now be the same color as your original object (red, in my case). **How about using the Color Matrix filter to go in the opposite direction – to generate a black shadow from a colored one? No problem, but first you'll need a colored image to work with. The easiest option is to move the input connection from Source Alpha to Source Graphic. You should also change your Color Matrix values back to the identity matrix to give you a known state to start from. With that done, your drop shadow should now be the same color as your original object (red, in my case).
Ligne 76: Ligne 76:
 It's similar to the identity matrix, except that the R, G and B columns are shifted by one place. The result is that the red component of the output pixel is taken from the value of the green component of the input, whilst the green output comes from the blue input and the blue output is taken from the red input. Let's see the result on a multi-colored source image:** It's similar to the identity matrix, except that the R, G and B columns are shifted by one place. The result is that the red component of the output pixel is taken from the value of the green component of the input, whilst the green output comes from the blue input and the blue output is taken from the red input. Let's see the result on a multi-colored source image:**
  
-J'ai pris la deuxième approche, pour avoir une ombre portée noire, à nouveau :+J'ai pris la deuxième approche, pour avoir à nouveau une ombre portée noire :
  
 Bien sûr, c'est une solution particulièrement inefficace pour créer une silhouette, en comparaison d'un simple lien à l'Opacité de la source, mais elle aide à montrer comment sont calculées les valeurs de sortie à partir des valeurs d'entrée. Jusqu'ici, cependant, nous n'avons regardé que des réseaux simples, où le rouge reste rouge, le bleu, bleu ; mais cette primitive de filtrage permet aussi de relier une composante d'entrée sur une toute autre sortie. Considérez une matrice comme celle-ci : Bien sûr, c'est une solution particulièrement inefficace pour créer une silhouette, en comparaison d'un simple lien à l'Opacité de la source, mais elle aide à montrer comment sont calculées les valeurs de sortie à partir des valeurs d'entrée. Jusqu'ici, cependant, nous n'avons regardé que des réseaux simples, où le rouge reste rouge, le bleu, bleu ; mais cette primitive de filtrage permet aussi de relier une composante d'entrée sur une toute autre sortie. Considérez une matrice comme celle-ci :
Ligne 86: Ligne 86:
 Although I've shown only relatively simple examples here, it's possible to create complex mappings between color channels. If you really want your red output to consist of 90% of the red input, less 10% of the green, less 35% of the blue, plus a fixed offset of 64, you just have to put values of 0.9, -0.1, -0.35 and 0.25 into the top row. Of course, predicting the output from complex combinations like this becomes rather difficult, so for normal use I recommend sticking with simpler, easy to understand mappings.** Although I've shown only relatively simple examples here, it's possible to create complex mappings between color channels. If you really want your red output to consist of 90% of the red input, less 10% of the green, less 35% of the blue, plus a fixed offset of 64, you just have to put values of 0.9, -0.1, -0.35 and 0.25 into the top row. Of course, predicting the output from complex combinations like this becomes rather difficult, so for normal use I recommend sticking with simpler, easy to understand mappings.**
  
-Notez que ceci nous éloigne d'une simple couleur fixe pour l'ombre et, à la place, différentes couleurs sont produites, basées sur le pixel correspondant de l'image d'entrée. Si vous incluez le canal Alpha de sortie, les choses commencent à devenir plus étranges. Voici notre texte multicolore avec les valeurs RGB à zéro pour nous redonner une ombre portée noire, sauf pour la quatrième ligne où le canal Alpha est fait à partir de la composante rouge de l'entrée. Notez que les couleurs avec une valeur rouge élevée sont des ombres denses et opaques alors que celles sans rouge en elles (telles que le S vert et le O bleu de « Shadow ») n'ont aucune ombre.+Notez que ceci nous éloigne d'une simple couleur fixe pour l'ombre et, à la place, différentes couleurs sont produites, basées sur le pixel correspondant de l'image d'entrée. Si vous incluez le canal Alpha de sortie, les choses peuvent devenir encore plus étranges. Voici notre texte multicolore avec les valeurs RGB à zéro pour nous redonner une ombre portée noire, sauf pour la quatrième ligne où le canal Alpha est fait à partir de la composante rouge de l'entrée. Notez que les couleurs avec une valeur rouge élevée ont des ombres denses et opaques alors que celles sans rouge du tout (telles que le S vert et le O bleu de « Shadow ») n'ont aucune ombre.
  
 Bien que je n'aie montré que des exemples relativement simples ici, il est possible de créer des réseaux complexes entre les canaux de couleurs. Si vous voulez réellement que votre sortie rouge soit faite de 90 % d'entrée rouge, moins de 10 % de vert, moins de 35 % de bleu, plus un décalage de 64, vous devez juste mettre les valeurs 0,9, -0,1, -0,35 et 0,25 dans la ligne du haut. Bien sûr, prévoir la sortie de combinaisons complexes comme celle-ci devient plutôt difficile ; aussi, pour un usage normal, je recommande de rester sur des réseaux simples et faciles à comprendre. Bien que je n'aie montré que des exemples relativement simples ici, il est possible de créer des réseaux complexes entre les canaux de couleurs. Si vous voulez réellement que votre sortie rouge soit faite de 90 % d'entrée rouge, moins de 10 % de vert, moins de 35 % de bleu, plus un décalage de 64, vous devez juste mettre les valeurs 0,9, -0,1, -0,35 et 0,25 dans la ligne du haut. Bien sûr, prévoir la sortie de combinaisons complexes comme celle-ci devient plutôt difficile ; aussi, pour un usage normal, je recommande de rester sur des réseaux simples et faciles à comprendre.
Ligne 95: Ligne 95:
 • Luminance to Alpha: Set the output alpha based on the RGB input values. In theory this makes dark areas more transparent and light areas more opaque, but RGB doesn't map neatly to the human perception of brightness, so this really works effectively only on grayscale input images. This can be used to punch holes in your filter output, based on the images produced in other parts of the chain. • Luminance to Alpha: Set the output alpha based on the RGB input values. In theory this makes dark areas more transparent and light areas more opaque, but RGB doesn't map neatly to the human perception of brightness, so this really works effectively only on grayscale input images. This can be used to punch holes in your filter output, based on the images produced in other parts of the chain.
  
-Notable by its absence is a shorthand option for adjusting the opacity – where we came in at the start of this article. Unfortunately, if you want to make your drop shadow a little more transparent, you have no choice but to deal with the full matrix approach, even if you are only changing a single value in the bottom row+Notable by its absence is a shorthand option for adjusting the opacity – where we came in at the start of this article. Unfortunately, if you want to make your drop shadow a little more transparent, you have no choice but to deal with the full matrix approach, even if you are only changing a single value in the bottom row**
  
-Cette capacité à relier avec flexibilité les composantes de couleur de l'une à l'autre, ou depuis ou vers la valeur Alpha, peut être utile sur certains filtres complexes et ésotériques. La plupart du temps, cependant, vous n'avez pas besoin de ce niveau de flexibilité ; aussi, la liste déroulante Type procure trois autres options pour éviter de batailler avec la matrice complète : +Cette capacité à relier avec flexibilité les composantes de couleur de l'une à l'autre, ou depuis ou vers la valeur Alpha, peut être utile sur certains filtres complexes et ésotériques. La plupart du temps, cependant, vous n'avez pas besoin de ce niveau de flexibilité ; aussi, la liste déroulante Type procure trois autres options pour vous éviter de batailler avec la matrice complète : 
-• Saturation : fournit une réglette pour vous permettre de modifier la saturation de votre image. En d'autres mots, pour lui enlever de la couleur et, tout au bout, obtenir une résultat en nuances de gris.+• Saturation : fournit une réglette pour vous permettre de modifier la saturation de votre image. En d'autres termes, pour lui enlever de la couleur et, tout au bout, obtenir une résultat en nuances de gris.
 • Décalage de teinte : Décale la couleur de votre objet d'une valeur fixe. • Décalage de teinte : Décale la couleur de votre objet d'une valeur fixe.
 • Luminance vers opacité : règle la sortie Alpha sur la base des valeurs des entrées RGB. En théorie, ceci rend les zones sombres plus transparentes et les zones claires plus opaques, mais le RGB ne correspond pas franchement à la perception humaine de la luminosité ; aussi, ceci ne fonctionne bien que sur les images d'entrée en nuances de gris. Il peut être utilisé pour perforer votre filtre de sortie, basé sur des images produites dans d'autres parties de la chaîne. • Luminance vers opacité : règle la sortie Alpha sur la base des valeurs des entrées RGB. En théorie, ceci rend les zones sombres plus transparentes et les zones claires plus opaques, mais le RGB ne correspond pas franchement à la perception humaine de la luminosité ; aussi, ceci ne fonctionne bien que sur les images d'entrée en nuances de gris. Il peut être utilisé pour perforer votre filtre de sortie, basé sur des images produites dans d'autres parties de la chaîne.
  
-Notez l'absence d'une option directe pour ajuster l'opacité - là où nous en étions en commençant cet article. Malheureusement, si vous voulez rendre votre ombre portée un peu plus transparente, vous n'avez pas d'autre choix que l'approche par la matrice complète, même si vous ne modifiez qu'une seule valeur dans la ligne du bas.+Notez l'absence d'une option directe pour ajuster l'opacité - là où nous en étions au début de cet article. Malheureusement, si vous voulez rendre votre ombre portée un peu plus transparente, vous n'avez pas d'autre choix que l'approche par la matrice complète, même si vous ne modifiez qu'une seule valeur dans la ligne du bas.
  
  
issue109/inkscape.1465120349.txt.gz · Dernière modification : 2016/06/05 11:52 de andre_domenech