Cet article à été lu 4 855 fois

ImageMagick, rendre transparent un pixel ou une partie d’image

Tweet Lorsque l’on veut transformer une image GIF en PNG (zone transparente dans un image) ou un pixel avec réglage de la tolérance on peut utiliser un logiciel comme Paint.Net ou alors ImageMagick […]


Lorsque l’on veut transformer une image GIF en PNG (zone transparente dans un image) ou un pixel avec réglage de la tolérance on peut utiliser un logiciel comme Paint.Net ou alors ImageMagick et quelques formules de base, il est possible de réaliser la même chose rapidement et automatiquement.

ImageMagick est un logiciel libre, comprenant une bibliothèque, ainsi qu’un ensemble d’utilitaires en ligne de commande, permettant de créer, de convertir, de modifier et d’afficher des images dans un très grand nombre de formats. Les images peuvent être découpées, les couleurs peuvent être modifiées, différents effets peuvent être appliqués aux images, les images peuvent subir des rotations, il est possible d’y inclure du texte, Plus d’information…

Image Source

Il est préférable d’utiliser une image source au format PNG plutôt que JPG. Pour comprendre il suffit de voir le résultat entre l’exemple 2 et l’exemple 3 !

Exemple 1

On pourrait croire qu’il n’y a aucun intérêt à réaliser cette opération, or je l’utilise cette formule pour transformer une image GIF au format PNG, car lors de la fusion de deux images avec « composite.exe » la zone transparence d’une image GIF converti en PNG est en réalité noir et non transparente ! Et si on ouvre l’image avec un logiciel comme Paint.Net on ne voit pas la différence… je me suis tirer les cheveux avant de trouver la solution !!!

  • Image source : color_test.jpg
  • Image destination : Pixel_Transparent.png
  • Remplacer le pixel en position 0,0 par la transparence : -fill none -draw « matte 0,0 point »

  • convert.exe color_test.jpg -fill none -draw « matte 0,0 point » Pixel_Transparent.png

Exemple 2

Dans cet exemple l’image source au format JPG et ne donne pas entièrement satisfaction, regarder plutôt l’exemple 3, c’est la même image mais au format PNG !

  • Image source : color_test.jpg
  • Image destination : Pixel_Zone-JPG-PNG.png
  • Remplacer la zone à partir du pixel en position 0,0 par la transparence : -fill none -draw « matte 0,0 floodfill »

  • convert.exe color_test.jpg -fill none -draw « matte 0,0 floodfill » Pixel_Zone-JPG-PNG.png

Exemple 3

Dans cet exemple, il est identique à l’exemple 2 mais l’image source est au format PNG. Et le résultat est idéal !

  • Image source : color_test.png
  • Image destination : Pixel_Zone-PNG-PNG.png
  • Remplacer la zone à partir du pixel en position 0,0 par la transparence : -fill none -draw « matte 0,0 floodfill »

  • convert.exe color_test.png -fill none -draw « matte 0,0 floodfill » Pixel_Zone-PNG-PNG.png

Vous devriez aussi lire ces articles

About Erwan

L’homme est un être paresseux qui utilise son intelligence pour éviter le travail inutile. - http://www.zapwallpaper.fr - http://www.cmdvb.fr