Conversion des formats de fichiers d’images avec la ligne de commande et les sips

La conversion des images en nouveaux formats de fichiers est très facile grâce à une série d’outils intégrés directement dans OS X (et la plupart des distributions Linux). Bien que la méthode la plus simple utilise l’aperçu pour la conversion des images, il existe une option de ligne de commande qui utilise le même outil que celui dont nous avons parlé précédemment pour effectuer un redimensionnement par lots à partir de la ligne de commande. En utilisant les sips, vous pouvez convertir des images simples en de nouveaux formats d’image, ou même effectuer des conversions d’images par lots.

Conversion simple d’images à partir de la ligne de commande

Pour convertir une image unique avec des sips, utilisez la syntaxe de chaîne de commande suivante :

sips -s format [type d’image] [nom du fichier] –out [fichier de sortie]

Par exemple, sur un fichier nommé « test.jpg » que vous voulez convertir en PNG, la syntaxe des sips serait :

sips -s format png test.jpg –out test.png

Conversion d’images par lots avec siphons

La conversion d’un groupe d’images est un peu plus délicate, et l’utilisation de simples jokers comme pour le redimensionnement par gorgées ne fonctionne pas tout à fait de la même manière. Vous constaterez que l’utilisation d’un joker générique comme * ne renomme pas le fichier aussi bien, nous utiliserons donc un script shell très simple à la place avec la syntaxe de commande suivante :

pour i dans [nom de fichier] ; do sips -s format [type d’image] $i –out [destination]/$i.[extension];done

Pour cela, nous allons convertir un dossier de fichiers .jpeg en fichiers png dans un nouveau sous-dossier du répertoire actuel, appelé « Converted » :

pour i en *.jpeg ; do sips -s format png $i –out Converti/$i.png;done

L’exécution de cette commande peut entraîner la conversion de toutes les images JPEG en format PNG dans le nouveau répertoire.

Le problème est que les noms de fichiers qui en résultent incluent également le type de fichier original, ce qui signifie que vous vous retrouverez avec des fichiers intitulés « test.jpeg.png ». L’extension de fichier reste correcte, c’est seulement un problème de dénomination. Vous pouvez contourner ce problème en les renommant pour commencer, puis en ajoutant l’extension de fichier appropriée par la suite avec un script bash similaire, en utilisant la regex, ou en les renommant manuellement avec mv.

Lors de l’utilisation de certains formats de fichiers, vous pouvez rencontrer des erreurs d’avertissement « lingpng » concernant les données exif, ces erreurs peuvent être ignorées pour la plupart et la conversion de l’image aura toujours lieu.

Merci à Thom pour l’idée de conversion par lots

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *