Redimensionner des images avec des scripts et ImageMagik
Redimensionner automatiquement les images pour s'adapter aux sites statiques
Le thème Mainroad dans Hugo ne redimensionne pas les images automatiquement,
just copies from static folder.
Il faut donc préparer un script pour redimensionner et recadrer les images à la bonne taille.
Quand
J’ai plusieurs sources d’images – le smartphone et la caméra sont les plus utilisés.
Elles ont des résolutions et des rapports d’aspect différents.
Il faut donc une séquence de traitement :
- recadrage central au rapport d’aspect
- redimensionnement (réduction) à deux résolutions. Une qualité JPEG de 80 % est suffisante.
- 235x171
- 678x495
Où
Supposons que les images sources soient toutes dans le dossier ~/tmp/img_src
Il faut :
- déplacer les images résultantes vers les dossiers ~/tmp/img_235x171 et ~/tmp/img_678x495
- nommer les images comme
_235x171.jpg et _678x495.jpg
Comment
Sur Ubuntu Linux, nous utiliserons imagemagick
sudo apt-get install imagemagick
Étape de recadrage :
convert wizard.png -gravity center -extent 11:8 wizarc.jpg
# vérifiez maintenant la géométrie
identify wizard.png wizarc.jpg
Étape de redimensionnement
convert wizarc.jpg -resize 678x495 -quality 80 -interlace plane wizarc_678x495.jpg
convert wizarc.jpg -resize 235x171 -quality 80 -interlace plane wizarc_235x171.jpg
# vérifiez maintenant la géométrie
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
80 est la qualité JPEG, et plane signifie JPEG progressif.
Cela aidera à charger les images plus rapidement sur les connexions lentes,
pas seulement parce que le miniature sera chargé en premier, mais aussi parce que le fichier lui-même est plus petit. Au moins dans le cas du wizard.
Avec des bordures
convert wizarc.jpg -resize 676x493 -quality 80 -interlace plane -border 1x1 wizarc_678x495.jpg
convert wizarc.jpg -resize 233x169 -quality 80 -interlace plane -border 1x1 wizarc_235x171.jpg
# vérifiez maintenant la géométrie
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg
L’image résultante que vous voyez en tête de ce post et les proportions de l’image source étaient comme suit :
cela est après un simple redimensionnement et l’ajout d’une bordure
convert wizard.png -resize 20% -quality 85 -interlace plane -border 2x2 wizard20.jpg
Autres options
nautilus-image-converter
nautilus-image-converter est une extension de nautilus pour redimensionner ou faire pivoter en masse des images. Pour installer nautilus-image-converter sur toutes les versions actuellement prises en charge d’Ubuntu, ouvrez le terminal et tapez :
sudo apt-get install nautilus-image-converter
Cela ajoute deux éléments de menu contextuel dans nautilus, donc vous pouvez cliquer droit et choisir “Redimensionner l’image”. (L’autre est “Faire pivoter l’image”).
Vous pouvez traiter tout un répertoire d’images d’un seul coup, et vous n’avez même pas besoin d’ouvrir une application pour cela.
Vous devez redémarrer votre nautilus pour voir les nouveaux menus contextuels, exécutez
nautilus -q
et puis cliquez sur l’icône du dossier “Accueil” pour recharger nautilus avec le nouveau plug-in.
mogrify
La commande mogrify remplace les fichiers originaux par les images redimensionnées :
mogrify -resize 50% *.png # conserve le rapport d’aspect de l’image mogrify -resize 320x240 *.png # conserve le rapport d’aspect de l’image mogrify -resize 320x240! *.png # ne conserve pas le rapport d’aspect de l’image mogrify -resize x240 *.png # ne conserve pas le rapport d’aspect de l’image mogrify -resize 320x *.png # ne conserve pas le rapport d’aspect de l’image
Autres outils utiles
Obtenir les détails métadonnées d’une image – comme la résolution, la profondeur de bit, etc. – fait partie du package imagemagick.
identify image.jpg
produirait quelque chose comme
image.jpg JPEG 720x482 720x482+0+0 8-bit DirectClass 100KB 0.000u 0:00.009
Convertir des images en PDF
convert $(ls -v *.jpg) foobar.pdf
convert $(ls -v *.png) foobar.pdf