Redimensionner des images avec des scripts et ImageMagik

Redimensionner automatiquement les images pour s'adapter aux sites statiques

Sommaire

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.

678x495 wizard

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

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 :

20% du wizard

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

Liens utiles