Recevez les mises à jour gratuites du blog par Email : »» Garanti sans spam indésirable ««

jpegtran : un outil permettant d’optimiser les images JPEG

de Mimie le 8 mars 2010

Rubrique : Programmation

Introduction

Dans la catégorie « optimisation d’images » voici un outil qui paye pas de mine et qui fait son boulot proprement de façon « lossless », c’est à dire sans décompression de l’image puis recompression des données qui causent souvent une perte de qualité de l’image, voire une augmentation de la taille d’origine.

L’outil se prénomme jpegtran et se base sur la bibliothèque libjpeg qui permet de manipuler les images JPEG (encoding, decoding, etc.).

Particularités

  1. Permet d’effectuer certains effets sur les images comme :
    • la rotation (rotating and flipping)
    • le niveau de gris (grayscaling)
    • le découpage (cropping)
  2. Retrait des données spécifiques (non-standards) insérées par certains programmes d’images
  3. Conversion entre différents formats JPEG progressifs et non-progressifs
  4. Retrait des commentaires et autres données inutiles qui grossissent la taille de l’image
  5. Lancement du programme en ligne de commande
  6. jpegtran -copy none -optimize -perfect src.jpg dest.jpg
    

Utilisation

J’utilise personnellement cet outil afin de réduire la taille de mes images JPEG disponibles sur mon futur site web sur Magic l’Assemblée, le gain n’est pas énorme sur l’ensemble de mes images mais étant donné que la qualité n’est pas endommagée pourquoi s’en priver ? ça ne coûte rien et ça ne m’a pris que quelques minutes pour faire mes 1 go d’images environ, mettant au point un petit script Batch (MS-DOS).

Voici le fichier .bat que j’utilise, il remplace l’image d’origine par son image optimisée. Pour l’utiliser il vous suffit de changer deux variables :

  1. jpegtran_exe : le chemin de l’exécutable jpegtran.exe
  2. images_path : le répertoire contenant vos images (répertoire pouvant contenir des sous-répertoires d’images) :
set jpegtran_exe=C:\Documents and Settings\benjamin_henique\Bureau\Outils\jpegtran.exe
set images_path=C:\Henique\MagicTheGathering_Web\WebContent\images\cards
cd %images_path%
for /r . %%img in (*.jpg) do (
call "%jpegtran_exe%" -copy none -optimize -perfect "%%img" "%%img"
)

Cet article a été écrit par :

– qui a déjà rédigé 123 posts sur Des Geeks et des lettres.

Passionné d'informatique et développeur JavaEE de métier, je me consacre principalement à écrire des billets sur les sujets du Web et de la programmation Web. Ce blog est un espace qui me permet de partager mes découvertes avec vous et me sert accessoirement de pense bête !

Contacter l'auteur

Jetez aussi un oeil sur :

{ 3 commentaires… à vous de vous exprimer ! }

1 Greg mars 8, 2010 à 20 h 17 min

En effet cet outil a l’air bien, y a-t-il une ressemblance avec PngOptimizer que l’on connaît déjà sur la Liberkey ? Ton fichier .bat ne mange pas de pain non plus. Bref que du bon. Miam.

Répondre

2 Mimie mars 8, 2010 à 20 h 24 min

Oui c’est le même genre d’outils, sauf que PngOptimizer ne traite pas les JPEG, il ne fait que les PNG, GIF, BMP et TGA :)
Petit .bat récursif fait-maison qui rend la vie :)

Répondre

3 edooc@vendre document août 18, 2011 à 22 h 18 min

Merci beaucoup pour le partage de cet outil que je le pense va fortement m’aider dans l’optimisation de mes pages. ça aide vraiment et en plus aucune données de perdu.

Je vais voir de combien cela me diminue les images.

Merci en tout cas.

Répondre

Laissez un Commentaire

Article précédent:

Article suivant: