Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes |
issue161:krita [2020/09/27 14:34] – créée auntiee | issue161:krita [2020/10/07 18:29] – auntiee |
---|
A recurring problem that new users face when starting to use Inkscape is the myriad ways of accidentally making something invisible. A few articles ago, I talked about this with regard to Outline View, and the new Visible Hairlines, Split View and XRay modes in version 1.0. But there’s one way of making objects disappear even from those tools, and which used to cause a lot of confusion for new users, as their objects vanished into the ether with no obvious way to retrieve them. Version 0.91 made recovery easier, and, with 1.0, we now have several new options on the context menu that make this feature something that might actually be more of a help than a hindrance. | **This series is aimed at learning to make something of the old photos in my possession, and others in the public domain due to their age. You, the reader, are welcome to tag along and I hope you glean some small insight and perhaps an idea or two from time to time. No promises are made as to quality of the content, or potential errors and omissions. I am a computer scientist, not a true artist or a professional of image restoration. So please take all this as a best effort, but with no firm guarantees — much as is the case of most open-source software. ** |
| |
There is an “Object Properties” dialog in Inkscape, which is available from the right-click context menu, making it easy for new users to stumble upon. It allows you to set the ID, Label, Title and Description of your object, but, in practice, most of those items only have any real value when the SVG is loaded into a web browser and manipulated with JavaScript. Small JavaScript snippets can be entered directly into this dialog, via the Interactivity section at the bottom (see part 82 of this series). | Cette série a pour but d'apprendre à faire quelque chose des vieilles photos en ma possession, ainsi que d'autres du domaine public du fait de leur âge. Vous, lecteur, êtes bienvenu pour m'accompagner et, j'espère, glaner quelques petites particularités et une idée ou deux de temps à autre. Je ne fais aucune promesse sur la qualité du contenu, ou sur les erreurs et omissions possibles. Je suis un scientifique en informatique, pas un artiste ou un vrai professionnel de la restauration des images. Aussi, merci de considérer ça comme mon meilleur effort, mais sans garanties fermes, comme c'est souvent le cas dans les logiciels Open Source. |
| |
There are also a couple of checkboxes in this dialog that can easily tempt an unwary user. The “Lock” option stops you interacting with the object at all. Initially the object remains selected, and can be affected by keyboard shortcuts, but, as soon as the selection is removed – by clicking on the background or selecting another element – the object becomes completely inert. You can’t select it, move it, resize it, or delete it. The “Hide” checkbox also makes your object inert – but, in addition, it makes it completely invisible, even to the prying eyes of Outline View and its friends. | **In the previous part of this series, we worked on a scene in which a lot of reverberation overloaded early light sensors, giving light colors a totally washed-out look. Since much information on details had not been retained within the image file, it was impossible or very difficult to put it back into the image through color-curve manipulation, and we finished by clearing up even more of the affected parts of the image, to center the viewer’s focus on the main subject of the photo. In this part of the series, we will work on another early digital photo, in which the camera’s optics and light-sensitive chip lost some definition in an otherwise quite pleasing scene, due to their lack of resolution at the time. The constant progress in casual photographer’s digital equipment – or even mobile phone cameras – has made images taken even a decade ago noticeable for their lack of resolution, as is the case here in a picture from the Dublin Quays.** |
| |
Back in the days of v0.48 and earlier, these checkboxes were a real problem for new users. They would naively lock a bitmap they wished to manually trace over, only to find that the means to unlock it when they wanted to delete it was less than obvious. Similarly, a right-click on it would no longer present the Object Properties option – thereby concealing another unlock possibility. A hidden object fared even worse: the behaviour was the same, but you couldn’t even see it to be sure you were right-clicking in the correct place! | Dans la partie précédente de cette série, nous avons travaillé sur une scène dans laquelle l'énorme quantité de réverbération surchargeait les premiers capteurs lumineux, donnant aux couleurs claires un aspect totalement délavé. Comme de nombreuses informations sur les détails n'avaient pas été enregistrées dans le fichier de l'image, il était impossible ou très difficile de les ramener dans l'image via une manipulation de la courbe des couleurs et nous avons fini par blanchir encore plus les parties touchées de l'image, pour recentrer l'attention du spectateur sur le sujet principal de la photo. Dans cette partie de la série, nous travaillerons sur une autre photo numérique précoce, dans laquelle les optiques de l'appareil et la puce photo-sensible ont perdu un peu de définition du fait de leur manque de résolution à cette époque, dans un tableau par ailleurs assez agréable. Les progrès constants de l'équipement numérique du photographe amateur - ou même des appareils-photos de téléphones mobiles - ont rendu les images prises il n'y a qu'une dizaine d'années distinctives par leur manque de résolution, comme c'est le cas aujourd'hui dans cette image des Dublin Quays. |
| |
The correct way to unlock or unhide your object was actually to unlock or unhide all the objects in your drawing, via options in the Object menu. There was no UI (other than the XML editor) to let you unlock or unhide individual items, making these capabilities rather useless for managing the state of very specific parts of your drawing. | **A quick zoom immediately shows us what the problem is here: a general lack of resolution leading to blurring and loss of details in the bronze figures that are the center of interest of this scene. The buildings in the background also exhibit a loss of details that would, quite frankly, be unacceptable in today’s world of mobile phone cameras with 12 million pixels or more, and rather more advanced physical optical systems than at the time. |
| |
With 0.91 came a new Objects dialog (Object > Objects… described in part 63). This lists every element in the drawing – including the hidden ones – with handy toggle buttons to (un)lock and (un)hide them. It’s a very familiar interface in other graphics software, and turns these properties into genuinely useful features. Personally, I think the checkboxes should have been removed from the Object Properties dialog to avoid further confusion, leaving them available only from the Objects dialog, but they still exist in the dialog to this day. | In fact, with this picture we are in a similar quandary as in the previous image of a tree in Cheung Chau: due to the technical performance of early digital cameras, some information is missing in the image file that would be needed to produce truly sharp photos to the same standard as those produced by modern material. So, when working on this type of old photo, we cannot compete on this level. To make our image somewhat attractive among the competing glut of digital photos, we need to center ourselves on other aspects.** |
| |
Inkscape v1.0 adds more UI niceties to work with these capabilities, by providing four new entries on the context menu: | Un agrandissement rapide montre immédiatement le problème : un manque général de résolution conduisant à un flou ou une perte de détails dans les personnages de bronze qui sont le centre d'intérêt de la scène. Les immeubles de l'arrière-plan affichent aussi une perte des détails qui ne serait, disons-le franchement, pas acceptable dans le monde actuel des appareils-photos des smartphones avec 12 millions de pixels ou plus, et avec des systèmes optiques physiques beaucoup plus perfectionnés qu'à ce moment-là. |
Hide selected objects | |
Unhide objects below | |
Lock selected objects | |
Unlock objects below | |
| |
The Hide and Lock entries are pretty self-explanatory. The one caveat to be aware of is that they hide or lock the objects that are selected, which may not include the one you’ve right-clicked on. Make sure to select all the target objects before right-clicking. | En fait, avec cette image, nous avons le même dilemme qu'avec l'image précédente de l'arbre à Cheung Chau : du fait des performances techniques des premiers appareils photos numériques, des informations manquent dans le fichier de l'image, lesquelles seraient nécessaires pour produire des photos vraiment nettes avec le même niveau de résultat que celles produites par le matériel moderne. Aussi, quand nous travaillons sur ce type de vieilles photos, nous ne pouvons pas nous battre sur ce plan. Pour rendre notre image un tant soit peu attractive dans la concurrence pléthorique des photos numériques, nous devons nous concentrer sur d'autres aspects. |
| |
The Unhide and Unlock options refer to “below” in their titles. In this case they mean “below the mouse pointer”. Right-click on a locked object and select the Unlock option to unlock it. It doesn’t get much simpler than that, right? But there is a caveat: this operation will unlock any object below the mouse pointer, regardless of what layer it’s on, even if the layer itself is hidden and locked! And, as the plural in the menu title suggests, if you have multiple locked items stacked on top of each other below the position where you right-click, they’ll all be unlocked. | **In this case, the main aspects of the scene are the bronze figures, what they represent, and the general lighting which makes them stand out. We can further enhance these effects with a few simple tricks. |
| |
Unhiding follows the same rules, but it’s obviously a little harder to find the correct spot to right-click on. As mentioned, none of the usual options for seeing invisible objects will work, so I hope you’ve kept track of where everything is in your drawing. To help with this treasure hunt just a little, the Unhide menu option will be enabled only if there is actually a hidden object below the mouse pointer, so you can be sure you’re in the right place. If you can’t find the object easily then a trip to the Objects dialog is probably a better use of your time than trying to play a hobbled version of Battleships against Inkscape. | The first would be to crop the image, centering the figures in the field. If we keep the same image width and cut a strip out of the bottom, we gain on two counts: we center our subjects within the field, and at the same time we move to a more modern width-to-height proportion. The 4:3 ratio seen in earlier digital photos such as this one was perfect for screens of the time (remember Cathode-Ray Tube monitors?), but modern viewing devices tend to go up to the panoramic 16:9 ratio, or even higher — and photo proportions have followed suit. In Krita, this is easy to do with the crop tool.** |
| |
The Unlock menu option also becomes enabled and disabled based on whether or not there’s a locked item below the mouse pointer, but it gets confused by locked layers, becoming enabled when you right-click over any object in the locked layer, regardless of whether or not the object itself is locked. | Dans ce cas, les principaux aspects du tableau sont les personnages en bronze, ce qu'ils représentent et l'éclairage général qui les fait ressortir. Nous pouvons améliorer ces effets encore plus avec quelques astuces simples. |
| |
Despite these minor issues, adding the options to the context menu is a welcome change that surfaces these long-standing capabilities of the program in a way that makes them not only more discoverable, but also more usable. Small changes like this may not get the fanfare of the big new features, but, by making users’ day-to-day workflows a little easier and more flexible, they’re every bit as welcome. | La première serait de recadrer l'image, pour mettre les personnages au centre. Si nous gardons la même largeur d'image et que nous coupons une bande en bas de l'écran, nous gagnons sur les deux tableaux : nous centrons les sujets dans l'espace et, en même temps, nous passons à une proportion hauteur-largeur plus moderne. Le ratio 4:3 vu dans les premières photos numériques telles que celle-là était parfait pour les écrans de l'époque (vous souvenez-vous des écrans cathodiques ?), mais les dispositifs de visionnage modernes tendent vers le ratio panoramique de 16:9, et même plus - et les proportions des photos ont suivi. Dans Krita, c'est facile à faire avec l'outil de rognage. |
| |
Another small new feature is even more welcome, at least by me: inverse clipping. This is an omission from the SVG specs which has always frustrated me, not least because it solves common problems trivially, but is no harder for a browser or graphics program to implement than the standard clipping routines. For lack of an extra paragraph or two in the spec, users have been forced to spend time reinventing inverse clipping with their own complex paths time and time again. | **If you keep an eye on the tool options dialogue that opens when each tool is active, notice the proportion that is being calculated while placing the cropping rectangle on your image. A 16:9 proportion is about 1.78 to one; in this case I chose a slightly higher 1.8 to one proportion for an even wider effect for the scene. |
| |
I covered clipping all the way back in part 13 of this series. If you’re a very long-term reader, you may recall that this series began with a few articles to help you get to grips with the basics of Inkscape by drawing a snowman. By part 13 it was time to adorn him with a scarf. | To continue, let us make the bronze statues stand out from the surrounding elements. This will help us obviate the buildings in the background, but also separate our figures from elements such as the metal railings and lamp post that tend to mix themselves up with our subjects. To do this, a simple technique is to keep our figures colorized, while moving the background to black and white. To the human eye, the color bits stand out quite clearly and attention is drawn to them.** |
| |
I began by drawing a scarf in its entirety, including the part that would normally be hidden behind the snowman’s head (“neck” seems a little too generous a term in this case). I first demonstrated how a simple clipping path (in green) wouldn’t do the job – it would leave the back of the scarf visible, whilst hiding the part you actually wanted to see. | Si vous gardez un œil sur le dialogue des options des outils qui s'ouvre chaque fois qu'un outil est actif, notez que la proportion est calculée pendant que vous placez le rectangle de rognage sur votre image. Une proportion de 16:9 est environ égale 1,78 sur 1 ; dans notre cas, j'ai choisi une proportion légèrement plus grande, de 1,8 sur 1, pour donner à la scène un plus grand effet de profondeur. |
| |
It’s a classic approach: first show the audience what doesn’t work, then follow up with a demonstration of what does work. In this case, it’s an “inverse clipping mask”, created by using Path > Difference to cut the desired shape out of a larger enclosing rectangle. The resultant complex path is then used for clipping, giving the desired result. | Pour poursuivre, faisons ressortir les statues de bronze des éléments environnants. Cela nous aidera à repousser les immeubles dans l'arrière-plan, ainsi qu'à séparer nos personnages d'éléments tels que les barrières métalliques et les lampadaires qui ont tendance à se mélanger avec nos sujets. Pour ce faire, une technique simple consiste à maintenir la coloration de nos personnages tout en amenant l'arrière-plan vers le noir et blanc. Pour l'œil humain, les points colorés ressortent assez clairement et l'attention est attirée vers eux. |
| |
It works, but it’s not really beginner friendly. When a new user just wants to cut the center out of a circle to make a donut, being forced to confront Boolean operations and bounding boxes makes Inkscape seem rather unfriendly. If the SVG Working Group had only added an “inverse” parameter to clipping paths all those years ago, Inkscape probably would have included this feature from the earliest versions. As it is, we’ve had to wait until now – and it’s still included only as a user-friendly addition by the developers, not because of any change to the SVG specs itself (this option was proposed for SVG2, but didn’t make the cut, much to my ongoing frustration). | **To do so, one possibility is to make a copy of our color layer, using the Layers docker copy (clone?) button. Now, click on the top layer, which will probably be labeled “Copy of Layer 1” if our base image was titled “Layer 1”. Now, choose menu option Filter, Adjust and finally “Desaturate”. Accept the changes, and we now have a black-and-white version of our scene in the new layer. |
| |
So how does this new feature work in Inkscape? As with many “extensions” to the basic SVG capabilities, it’s implemented as a Live Path Effect (LPE). But, like several other LPEs, it’s available directly from the normal Inkscape UI, so you don’t need to deal directly with the LPE to benefit from it. I’ll cover the new “Power Clip” LPE that is behind it in a future instalment but, for now, let’s just see how we might use it to work with our snowman’s scarf. | Now comes the manual work. Stay within the B/W copy layer, and choose the brush tool and one of the erasers. There are several eraser options, but the main one “Eraser Circle” will be fine for our purposes. Slowly, using small touches and a fine size, erase the statues from the black and white layer… thus revealing the colorized version beneath. Using soft touches and perhaps even reduced opacity for the eraser, the edge of the statues can be adhered to quite well, making each figure pop out quite nicely from a surrounding sea of black and white.** |
| |
There’s no real trick to it, actually. You just create a path (or an object that can be converted to a path) that encloses the part of the image you want to clip away. Then select both the clipping path and the object or group to be clipped and you’re ready to proceed. Whereas the option for a normal clip can be found on the context menu, it takes a trip to the Object > Clip > Set Inverse (LPE) option to trigger the inverse mode. And that’s it. No complex paths or bounding boxes. Just a simple interface for what should be a simple task. | Pour le faire, une possibilité est de faire une copie de notre calque coloré, en utilisant le bouton Dupliquer un calque (cloner ?) du panneau Calques. Maintenant, cliquez sur le calque du haut, qui sera probablement « copie de Calque 1 » si notre image de base était intitulée « Calque 1 ». Maintenant, choisissez l'option de menu Filtre, Ajuster et enfin « Désaturer ». Acceptez les modifications et nous avons maintenant une version en noir-et-blanc (N&B) de notre scène dans ce nouveau calque. |
| |
Internally, of course, complex paths and bounding boxes still come into play. You can see this by switching to the Node tool (F2), where you’ll see that Inkscape has automatically created a complex path consisting of your clipping path and another that hugs the bounding box of your selected object. As usual, you can edit the nodes and lines of these paths for an instant effect on the clipped object – ideal for fine-tuning the resultant shape to make sure your scarf provides a nice, snug fit. | Et maintenant, du travail manuel. Restez sur le calque de la copie en N&B et choisissez l'outil brosse et une des gommes. Il y a plusieurs options de gomme, mais la principale, « Gomme ronde » répondra bien à nos besoins. Lentement, par petites touches, de petite taille, effacez les statues du calque en noir et blanc... révélant donc les couleurs qui sont en dessous. En utilisant des touches douces et peut-être même une opacité réduite pour l'effaceur, le bord des statues peut être bien suivi, faisant ressortir assez joliment chaque personnage de l'océan noir et blanc environnant. |
| |
There’s also a new inverse mode for masks, though its behaviour is not so obvious. Masking was covered in part 14. It’s basically similar to clipping, but uses the color of each pixel in the mask to determine the opacity of that part of the masked object. White parts remain visible, black or transparent parts are made transparent, and values in-between have their opacity set accordingly. Typically it’s used where you want to fade the object, rather than produce the abrupt edge that clipping gives. Here’s an example where I use a blurred white object as a mask to remove the outside of a colored rectangle. | **The eye can now distinguish more easily between the figures, and their background. To complete our image, the background – which is still in the top layer – can be made a touch lighter using the tool in Filter > Adjust > Color adjustment curves. In this case, I raised luminosity slightly for all lighting levels, but made sure this effect was more evident on darker colors. Since the figures in this scene are rather dark-colored, making the background slightly lighter gives us even more contrast. |
| |
This particular result could obviously be produced simply by blurring a colored ellipse, but in a real example you might have a far more complex shape in your mask, or the object you’re masking might be a group made up of lots of different elements. | The technique described is often used in museum photo recreations, but can be of interest in other situations. Since the background is obviated, a low resolution is not as noticeable as when a full-color image is presented. |
| |
Once again, the SVG spec offers no inverse version of a mask. But Inkscape provides such a feature in v1.0, so to cut a hole in the colored rectangle, surely just requires us to use the Object > Mask > Set Inverse (LPE) option, right? Of course not! That would be far too sensible. Instead the result is just a colored rectangle, as though no mask even existed. | In the next (and final) part of this series on using Krita to rework old photos, we will stay with early digital images and work on color density and enhancement. Until then, take care!** |
| |
What’s happening here is a discussion for another article – probably once I get round to a further examination of the new LPEs in version 1.0. Suffice to say that we can get the effect we’re after by drawing the mask in black rather than white, then using the Set Inverse option. | L'œil peut maintenant distinguer plus facilement les personnages de leur environnement. Pour terminer l'image, le fond - qui est encore dans le calque du dessus - peut être rendu légèrement plus clair en utilisant l'outil dans Filtre > Ajuster > Courbe d'ajustement de la couleur. Dans notre cas, j'ai augmenté légèrement la luminosité pour tous les niveaux d'éclairage, mais je me suis assuré que cet effet était plus appuyé sur les couleurs sombres. Comme les personnages de cette scène sont plutôt de couleur sombre, rendre le fond légèrement plus clair augmente encore le contraste. |
| |
The irony here is that we’ve had to manually invert the color of the mask in order to use the automatic feature for inverting the mask! There is some logic to this, but it’s tied up to the way the LPE operates, and the default settings that get applied when you select this option. For now, I’ll be sticking to creating inverse masks by hand, the old fashioned way, but I can definitely see a lot of inverse clipping paths in my future. | La technique décrite est souvent utilisée dans les restaurations de photos dans des musées, mais peut être intéressante dans d'autres situations. Comme le fond est mis à l'écart, une faible résolution est moins perceptible que quand l'image entièrement colorée est présentée. |
| |
There’s one final caveat to using these new features: because they’re implemented as Live Path Effects, they won’t work directly on bitmap images. Note the word “directly” – these LPEs can also be used on groups, even if the group contains only a single bitmap image. So, if you really want to poke a hole through a treasured family photo, just put it into its own group, then get going with the inverse clip or mask. I usually advise putting a bitmap into a single-object group anyway, as it opens up some other creative possibilities I’ve covered in the past, so it’s perhaps worth getting into the habit of always grouping a bitmap as soon as you place it in your drawing. | |
| |
| Dans la prochaine (et dernière) partie de la série sur l'utilisation de Krita pour restaurer des vieilles photos, nous resterons sur les premières images numériques et travaillerons sur la densité des couleurs et leur amélioration. Jusque-là, prenez soin de vous ! |