Greboca  

DLFP - Dépêches  -  GIMP 2.10.10 : « c’est dur de colorier ! »

 -  25 mai - 

Il s’est passé quelques mois depuis la dernière sortie de GIMP. Le résultat vaut probablement l’attente ! De nouvelles fonctionnalités en pagaille, des optimisations, corrections et améliorations de la stabilité font partie de cette version 2.10.10, sortie le 7 avril. Citons notamment :

  • la colorisation par détection de traits dans l’outil de remplissage ;
  • des outils de transformation améliorés ;
  • option « Échantillonner sur tous les calques » maintenant disponible sur l’outil correcteur et amélioré sur l’outil de clone ;
  • les brosses paramétriques maintenant en 32 bits par canal de couleur ;
  • création de nouvelles brosses et modèles simplifiée ;
  • sélection de calque sur canevas ;
  • enregistrement et exportation plus sûrs et rendu de groupe plus rapide ;
  • prise en charge du format DDS ;
  • de nombreuses améliorations dans le moteur graphique GEGL.

Colors are hard by Aryeom  « C’est dur de colorier ! », par Aryeom, CC By-SA 4.0

Sommaire

Améliorations remarquables

Outils améliorés

Outil de remplissage

L’outil de remplissage a connu toute une série d’améliorations le rendant plus utilisable. En outre, l’outil dispose maintenant d’un nouveau mode de « Remplissage par détection de traits » (parfois appelé « colorisation intelligente ») !

Prélèvement de couleur rapide

Comme pour les outils de peinture, on peut désormais prélever les couleurs avoisinantes sur le canevas en cliquant avec la touche Ctrl enfoncée, sans avoir besoin de changer d’outil.

Cliquer, déplacer pour remplir

Dans le mode « Remplir des couleurs similaires », ainsi que le nouveau mode « Remplir par détection de traits », vous pouvez désormais laisser le bouton pressé en déplaçant la souris pour continuer à remplir les zones alentours.

Remplissage par détection de traits

Enfin, un changement majeur est l’implémentation d’un nouvel algorithme de remplissage pour les peintres numériques. Cet algorithme remplit à l’intérieur de zones de trait, éventuellement non parfaitement fermées, en s’efforçant de ne pas laisser de pixels non coloriés.

Cette fonctionnalité originellement présente dans le greffon G’MIC, accompagnée d’une publication de recherche, fut contribuée par moi‐même dans le cadre d’un projet de l’équipe IMAGE du laboratoire GREYC (rattaché au CNRS, l’Université de Caen et l’école d’ingénieur ENSICAEN), avec un retour d’expérience important d’Aryeom du projet ZeMarmot.

Colorisation intelligente dans GIMP

Voir aussi mon article plus technique sur cette nouvelle fonctionnalité.

Outils de transformation

Ell a amélioré divers aspects sur plusieurs outils de transformation :

  • l’outil de mise à l’échelle redimensionne en gardant le centre fixe, même lors du redimensionnement par paramètres numériques ;
  • l’outil de transformation unifiée garde maintenant les proportions par défaut lors d’un redimensionnement ;
  • nouvelles options « Contraindre les poignées » et « Autour du centre » à l’interface de l’outil perspective, similaires aux options correspondants dans l’outil de transformation unifiée ;
  • nouveau bouton « Réajuster » dans plusieurs outils de transformation autorisant à réajuster les poignées sur le canevas en fonction du niveau de zoom en cours ;
  • les directions de transformation (en avant et en arrière) peuvent maintenant être liées, autorisant le réajustement manuel des poignées sans affecter la transformation en cours.

Outil correcteur et clone

Michael Natterer a amélioré l’outil correcteur en y ajoutant l’option « Échantillonner sur tous les calques » permettant de peindre sur un calque séparé, gardant ainsi les pixels à la source intacts. L’outil de clone avait déjà cette même option, qui fut améliorée pour fonctionner de même.

Ces changements sont importants pour manipuler des images sans modifier les pixels originaux, d’une manière non destructrice.

De meilleures brosses

Brosses paramétriques 32 bits

Michael Natterer et Ell ont amélioré la prise en charge des brosses dans GIMP. Une grosse amélioration pour les peintres fut de faire enfin le rendu des brosses paramétriques en nombres flottants sur 32 bits (par canal de couleur), dans la lignée du passage au traitement des couleurs en haute précision. L’avantage principal est d’éviter la postérisation lors de l’utilisation de larges brosses, en particulier dans les couleurs sombres.

Notons cependant que les brosses raster restent en 8 bits pour l’instant. Leur évolution en flottants sur 32 bits est aussi prévue.

Enfin, notons que les greffons n’ont encore accès qu’à des versions 8 bits par canal de couleur, même pour les brosses et modèles en haute précision. De nouvelles interfaces de programmation devront être ajoutées plus tard pour la prise en charge de ces données en haute précision par les greffons.

Création simple de brosses et motifs depuis le presse‐papiers

Il était déjà possible de créer de nouvelles brosses et motifs à la volée depuis le presse‐papiers (c’est‐à‐dire à partir d’images copiées, par exemple avec le fameux raccourci Ctrl + C), mais il n’était pas possible de les sauvegarder. Bien que pratique, cette fonctionnalité ne permettait donc que la création de brosses et motifs temporaires.

Ces brosses et motifs temporaires peuvent maintenant être dupliqués comme toute autre donnée, leur permettant ainsi de devenir des données stockées « normales », donc réutilisables. Bien que ce changement ait l’air simpliste, il est le résultat d’une grosse migration de code, par Michael Natterer : ce code était auparavant du code greffon, il fait maintenant partie du cœur de GIMP. Il y a des chances que cette migration ait davantage d’heureuses implications dans un futur proche !

Ouvrir en tant qu’image

L’ancrable « Brosses » propose maintenant un nouveau bouton « Ouvrir la brosse en tant qu’image » permettant l’édition rapide et simple d’une brosse enregistrée.

Sélection de calque depuis la zone de dessin

Quiconque travaillant avec un nombre conséquent de calques a parfois ressenti la frustration de ne pas trouver le bon calque dans la liste, même si ses pixels sont visibles sur la zone de travail.

J’ai donc implémenté un nouveau modificateur générique sur canevas (Alt + clic milieu) permettant de sélectionner un calque en cliquant sur les pixels. Le calque le plus haut contenant ce pixel sera sélectionné. En maintenant la touche Alt pressée et en continuant à cliquer, vous pourrez sélectionner chaque calque inférieur l’un après l’autre. Le nom du calque sélectionné sera aussi temporairement affiché dans la barre d’état. Les choix d’interactions ont grandement bénéficié de l’expérience d’Aryeom, du projet ZeMarmot, laquelle a d’ailleurs aussi eu l’idée de base de cette fonctionnalité.

Sélection de calque sur canevasSélection de calque sur canevas avec Alt + clic milieu

Plus rapide et plus sûr

Comme d’habitude, de nombreux bogues ont été corrigés et des optimisations faites. Citons notamment :

Enregistrements et exportations plus sûrs

Différentes sections du code dédié à l’écriture de fichier ont été rendues plus robustes en évitant la réécriture du fichier quand survient une erreur. En particulier la sauvegarde au format XCF et l’exportation (vers les formats de rendu d’image) devraient être plus sûres et vous éviter de vous retrouver avec un fichier corrompu (c’est‐à‐dire qu’en cas d’erreur, vous n’avez bien sûr pas de copie de la dernière version de l’image, mais au moins vous ne perdez pas votre précédente version).

Rendu des groupes de calques plus rapide

Le rendu des groupes de calques se fait maintenant par plus gros morceaux, plutôt que tuile par tuile (ce qui avait plus ou moins pour effet d’annuler l’avantage du calcul en parallèle du rendu des groupes sur de multiples fils d’exécution). La vitesse de rendu en est ainsi beaucoup améliorée.

Paquet macOS amélioré

La gestion des écrans à haute densité de pixels (HiDPI), comme Retina, a été améliorée pour la version macOS/OSX ce qui corrige des problèmes d’icônes floues.

De plus, le binaire pour macOS est enfin signé. L’installation sur cette plate‐forme est désormais beaucoup moins pénible !

Et plus encore !

Depuis GIMP 2.10.8, 775 modifications (en moyenne cinq par jour) ont été effectuées dans la branche 2.10 (voire davantage dans d’autres branches de développement). Beaucoup de bogues ont ainsi été corrigés (41 rapports ont été fermés durant cette fenêtre de développement), les performances ont été améliorées et plusieurs tâches sont exécutées de manière plus sûre.

On peut aussi compter 66 modifications pour babl 0.1.62 et 404 modifications pour GEGL 0.4.14.

Enfin, 21 traductions ont été mises à jour. Nous souhaitons d’ailleurs remercier nos traducteurs qui permettent de fournir GIMP dans énormément de langues à travers le monde !

Greffons

Prise en charge du format DDS

L’extension DDS, développée à l’origine par Shawn Kirst et Arne Reuter, fait maintenant partie des greffons de base fournis avec le logiciel. Ceci permet donc à GIMP de gérer les fichiers DirectDraw Surface sans installation supplémentaire.

Il est à noter que ce greffon est à la recherche d’un mainteneur actif. Le développement est arrêté et l’intégration n’a consisté qu’en une adaptation minimale. Donc, les correctifs pour améliorer cette prise en charge sont les bienvenus.

Réécriture du greffon Spyrogimp

Elad Shahar, l’auteur original du greffon Spyrogimp, l’a entièrement réécrit avec davantage d’options et une prévisualisation automatique (dessinant directement dans un calque temporaire à l’opposé d’une prévisualisation via GEGL).

Nouveau greffon SpyrogimpNouveau greffon Spyrogimp

L’ancien greffon est toujours disponible, par souci de compatibilité avec des scripts existants, mais il n’est plus disponible via le menu, la nouvelle version le remplaçant.

Filtres

Les flous cinétiques circulaire, linéaire et de zoom sont maintenant dotés d’une nouvelle interaction sur canevas permettant des modifications plus visuelles des paramètres.

Autour de GIMP

GEGL et babl

Cette version de GIMP est accompagnée d’une importante mise à jour de GEGL (désormais en 0.4.14), incluant aussi bien des améliorations internes que des ajouts visibles pour l’utilisateur.

En particulier, l’outil indépendant gegl, lequel peut être utilisé pour traiter des opérations GEGL directement en ligne de commande, a vu son interface graphique énormément retravaillée par Øyvind Kolås.

La nouvelle interface propose maintenant un visionneur d’image et un éditeur de graphes, permettant la manipulation d’image de maninère non destructive en temps réel.
The gegl binary features a reworked graphical editorLe binaire gegl propose un nouvel éditeur graphique

Non seulement cela fait donc office d’éditeur « preuve conceptuelle » non destructif, proposant même des fonctionnalités avancées basées sur le touché et l’exécution de scripts Lua. Mais en plus, cela sert de laboratoire d’essai pour des fonctionnalités GEGL, nouvelles comme existantes, telles que le rendu mipmap.
The editor can be extended using Lua, allowing for per‐operation UIL’éditeur peut être scripté avec Lua, permettant une interface adaptée à chaque opération

Øyvind Kolås a également travaillé dans l’intégration en profondeur de la gestion du CMJN à la fois dans babl, qui est sorti en version 0.1.62 plus tôt cette année, et GEGL. Cela inclut la gestion des profils ICC CMJN dans babl (actuellement, grâce à LCMS2), la prise en charge directe du CMJN dans les fonctions GEGL concernées et les opérations principales, et la gestion de la lecture et l’écriture de données CMJN dans les fichiers TIFF et JPEG. Même si ce n’est pas encore terminé, ce travail est une belle avancée pour ajouter une gestion CMJN de grande qualité dans GIMP.

Cette sortie s’accompagne bien sûr de diverses corrections de bogues et d’améliorations de performance, dont :

  • la factorisation de la plate‐forme de parallélisation ;
  • la compression des tuiles en swap ;
  • la suppression de l’interface de développement (API) dépréciée iterator ;
  • de nouvelles opérations dans l’atelier (workshop, la collection des opérations GEGL en cours de développement non jugées stables ou finales) ;
  • l’amélioration d’opérations existantes.

Consultez les notes de sortie de GEGL pour plus de détails.

Une note pour les mainteneurs de paquets : pour construire GEGL 0.4.14 sur plate‐forme Win32, deux commits nécessiteront du picorage (cherry‐picking, sélection d’un ou plusieurs commits à appliquer à une branche) : les commits 141a7aa7 et b3ff0df0.

Et ensuite ?

Comme souvent, nous rappelons que vous pouvez faire un don au projet GIMP et financer plusieurs des personnes mentionnées dans cette dépêche, dont notamment notre projet ZeMarmot. C’est un moyen de rendre à la communauté si vous appréciez le travail accompli et souhaitez aider GIMP à s’améliorer !

Le travail sur la base de code de GIMP reste très actif, non seulement sur la branche stable 2.10.x, mais aussi sur la branche de portage vers GTK+ 3. On peut espérer annoncer sous peu de chouettes nouvelles sur cette partie moins visible du développement !

Entretemps, comme tous les ans, nous serons présent au Libre Graphics Meeting (aussi discuté sur LinuxFr.org), lequel se tient cette année à Sarrebruck (Saarbrücken) en Allemagne du 29 mai au 2 juin. N’hésitez pas à nous aborder pour discuter avec les membres de l’équipe GIMP !

Commentaires : voir le flux atom ouvrir dans le navigateur

par Jehan, xev, Davy Defaud, teoB, palm123, ZeroHeure, ted, BAud, Peuc, jona, Ysabeau, antistress

DLFP - Dépêches

LinuxFr.org

Installer LineageOS sur son appareil Android

 -  25 juin - 

Lorsque j’ai installé LineageOS sur mon smartphone, j’ai suivi des tutoriels sans réellement comprendre ce que je faisais. Je voulais donc écrire (...)


Firefox 67.0.1 : version mineure ou majeure ?

 -  23 juin - 

La version 67.0.1 de Firefox a été publiée le 4 juin 2019. De manière un peu étrange et inhabituelle, Mozilla a lancé une nouvelle fonctionnalité à (...)


L’enjeu de la bataille du Libre : la réappropriation des savoir‐faire

 -  22 juin - 

« Leur terre est morte et ils ne la possèdent même plus, ils sont endettés auprès de banques. Il faut des engrais sinon rien ne pousse. Les graines (...)


Un ASIC conçu intégralement avec des logiciels libres

 -  17 juin - 

Un ASIC (application‐specific integrated circuit, en anglais) est un circuit intégré d’électronique numérique conçu pour une application spécifique et (...)


Interview de Bastien Guerry, référent logiciels libres à la DINSIC

 -  9 juin - 

Bastien Guerry est, depuis décembre 2018, le référent logiciels libres de la DINSIC (Direction interministérielle du Numérique et du Système (...)