Conversion de formats de fichiers image avec la ligne de commande et les gorgées
La conversion d'images vers de nouveaux formats de fichiers est très facile grâce à une variété d'outils intégrés directement dans OS X (et la plupart des distributions Linux). Bien que la méthode la plus simple utilise 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 gorgées, vous pouvez convertir des images uniques en nouveaux formats d'image, ou même effectuer des conversions d'images par lot.
Conversion d'image simple à partir de la ligne de commande
Pour convertir une seule image avec sips, utilisez la syntaxe de la chaîne de commande suivante:
sips -s format [image type] [file name] --out [output file]
Par exemple, sur un fichier nommé "test.jpg" que vous voulez convertir en PNG, la syntaxe sips serait:
sips -s format png test.jpg --out test.png
Conversion d'images en lots avec des gorgées
La conversion d'un groupe d'images est un peu plus compliquée, et l'utilisation de jokers simples comme lors d'un redimensionnement avec sips ne fonctionne pas tout à fait pareil. Vous constaterez que l'utilisation d'un caractère générique comme * ne renomme pas le fichier, donc nous allons utiliser des scripts shell très simples avec la syntaxe de commande suivante:
for i in [filename]; do sips -s format [image type] $i --out [destination]/$i.[extension];done
Pour l'utiliser, nous allons convertir un dossier de fichiers .jpeg en fichiers png dans un nouveau sous-dossier du répertoire courant, appelé "Converted":
for i in *.jpeg; do sips -s format png $i --out Converted/$i.png;done
L'exécution de cette commande peut entraîner la conversion de toutes les images JPEG au format PNG dans le nouveau répertoire.
Une capture potentiellement ennuyeuse est que les noms de fichiers qui en résultent incluront également le type de fichier original, ce qui signifie que vous obtiendrez des fichiers intitulés "test.jpeg.png". L'extension du fichier reste correcte, c'est seulement un problème de nommage. Vous pouvez contourner cela en les renommant pour commencer par ajouter ensuite l'extension de fichier appropriée avec un script bash similaire, en utilisant regex, ou renommé manuellement avec mv.
Lorsque vous lancez des gorgées avec certains formats de fichier, 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