Gimp: supprimer les pixels semi-transparents ~ Doonogotoo

24/07/2008

Gimp: supprimer les pixels semi-transparents

J'ai déjà parlé plusieurs fois de Gimp et Inskcape dans ce blog. Je les utilises principalement pour créer des designs qui iront sur des vêtements, des mugs, des horloges, le tout dans ma boutique The Mind Shop.

Un des problème que j'ai rencontré, c'est que les T-Shirts sombres (dark shirts) sont imprimés selon une séquence spécifique: d'abord une couche de blanc, ensuite on appose la couleur par dessus. Le résultat de ce procédé est que les pixels semi-transparents vont se fondre avec le blanc du dessous et non pas avec le tissu.

Avec Inkscape, lorsque j'exporte mes images en .PNG, les spécification du format SVG font que les images sont forcément sans crénelage (anti-aliasing), donc la transition entre un trait et le fond est fait par des pixels semi-transparents qui vont permettre une douce transition entre le trait et le fond, quel que soit sa couleur, grace à l'alpha-blending.

Par conséquent, mes designs pour T-Shirts sombres ont tous, si je ne fais rien, un bord blanchâtre qui va être peu élégant. Donc il faut une petite parade.

Grâce à gimp, la parade existe. Il suffit de "triturer" le canal alpha.

Premièrement, on a une image telle que celle-ci dans gimp; on remarquera qu'il y a plusieurs pixels semi-transparents:



Dans la palette des calques, on choisit le menu "Alpha vers sélection" après un clic droit sur un calque.



On obtient:



Ensuite, dans le menu "Sélection", on choisi "Enlever l'adoucissement".



On affiche la palette des canaux et on clique sur les canaux de couleurs jusqu'à ce que le canal alpha soit le seul à être en surbrillance.



On prend l'outil de peinture, on choisi le noir et on sélectionne "Remplir toute la sélection".



Maintenant, il suffit de cliquer sur une partie opaque. Voici le résultat:



Dernière étape, mais non des moindres, il faut choisir dans le menu "Sélection", "Inverser la sélection". Et ensuite, appuyer sur la touche [Del] de votre clavier afin de supprimer les pixels qui n'étaient pas dans la sélection originale. En effet, lorsqu'on utilise la fonction "Alpha vers Sélection" avec la suppression de l'adoucissement, Gimp sélectionne tous les pixels qui ont une valeur alpha supérieure à un certain niveau (je ne connais pas le chiffre exact, mais de ce que je vois, je pense que c'est 50%)



Voici le résultat:



J'utilise cette technique sur des images qui ont une résolution assez importante (3600x3600), donc les pixels qui ont été coupées ont peu d'impact sur le résultat final, à l'impression. Je vous conseillerais donc de faire quelques tests si vous voulez utiliser cette procédure sur des images destinées à un écran.

2 commentaires:

Anonyme a dit…

J'ai l'impression que le script Python pour Gimp "Supprimer l'antialias", en bas de l'url suivante, fait la même opération plus facilement...

http://www.vincentvansuyt.com/gmp_Scripts.php

Kristof a dit…

Bien vu!

Effectivement ce script semble remplir la même tâche. Vu la description, la manière de déterminer les pixels à conserver est propre au script, mais bon, l'essentiel est d'avoir une image sans crénelage, non?

Comme ce script est récent (avril 2010), il ne pouvait pas apparaître dans mon post original...