Il peut être utile d'effectuer une rotation de 90, 180 ou 270 degrés pour des fichiers image qui apparaissent à l'envers ou de côté.
Plusieurs solutions peuvent être utilisées.
Solution graphique : gThumb
Il faut tout d'abord installer le paquet :
L'application est alors accessible via le menu Applications > Graphisme > gThumb. Au moyen de l'explorateur de fichiers, aller chercher l'image souhaiter, puis cliquer sur l'une des flèches droite ou gauche pour effectuer la rotation. Quitter ensuite l'application : l'image est automatiquement transformée.
Solutions en ligne de commande
ImageMagick : convert et mogrify
ImageMagick est une application gratuite et open-source qui permet de gérer (c'est-à-dire créer/modifier/convertir, etc.) des graphiques matriciels. Actuellement, ImageMagick Studio LLC gère le développement de l'application. En outre, elle a été publiée pour la première fois le 1er août 1990. Pour installer ImageMagick dans la version Ubuntu 20.04 LTS, il suffit d'utiliser le gestionnaire de paquets :
$ sudo apt install imagemagick
Une fois ImageMagick installé, on peut utiliser la commande convert pour effectuer la rotation vers un nouveau fichier :
$ convert image.png -rotate 180 image_converted.png
# Pour convertir tous les fichiers du répertoire "images" en créant de nouveaux fichiers ".converted"
for myFile in images/*.jpg
do
convert "$myFile" -rotate 180 "$(basename "$myFile").converted" ;
done
Si l'on souhaite écraser les images existantes, on peut utiliser la commande mogrify :
$ mogrify -rotate 180 *.png
L'inconvénient de ces deux commandes est qu'elles ne sont pas lossless ("sans perte") pour les fichiers *.jpg (https://www.imagemagick.org/discourse-server/viewtopic.php?t=5899)
Commande jpegtran
Pour pallier à l'inconvénient des deux méthodes précédentes, on peut utiliser la commande jpegtran.
Vous ne pouvez pas faire pivoter un fichier jpeg sans perte en utilisant ImageMagick, ou tout autre programme d'image qui lit et écrit réellement les données de l'image.
Cependant, l'installation de la bibliothèque libjpeg contient un programme jpegtran qui ajuste les données jpeg pour les faire pivoter sans lire et écrire l'image. Il peut le faire sans perte.
# Installer le programme sur Ubuntu 22.04
$ apt install libjpeg-turbo-progs
# Produit une version pivotée (90° dans le sens des aiguilles d'une montre)
$ jpegtran -rotate 90 -outfile image_converted.jpg image.jpg
# Pour écraser l'image existante
$ jpegtran -rotate 180 -outfile image.jpg image.jpg
# Et pour écraser tous les fichiers d'un répertoire
for myFile in *.jpg
do
jpegtran -rotate 180 -outfile "$myFile" "$myFile" ;
done
# Autre syntaxe possible
# "-rotate" accepte les valeurs suivantes : [90|180|270]
# "-copy all" permet de copier toutes les métadonnées dans le nouveau fichier.
$ for img in *.jpg; do jpegtran -rotate 90 -copy all $img > rotated-${img}; done