Bulk operations

Compresser les éléments d’un dossier

for file in *.{jpg, jpeg, JPG, png, PNG, bmp, BMP}; do convert $file {instructions} $file; done

Convertir dans un dossier

mkdir conversion && for file in *.{jpg, jpeg, JPG, png, PNG, bmp, BMP}; do convert $file {instructions} conversion/$file; done

Crop image with ImageMagick

Crop all png files in the folder (with a loop)

convert input.jpg -crop 1366x916 output.jpg

Crop and resize all bitmap files, and output it to thumbs folder

convert input.jpg -thumbnail 480x480^ -gravity center -extent 480x480 output.jpg

Notes : ^ permet de garder l'aspect des pixels

Convertir de façon proportionnelle

Exemple : des images de 4256*2832, que je veux ramener à une largeur max, côté long, de 1280 (côté court proportionnel)

convert input.jpg -resize 1280x1280 output.jpg

Recadrer une image de 208x16 vers 144x16

On recadre à la taille voulue, aux coordonnées x:32 et y:0

convert input.jpg -crop 144x16+32+0 output.jpg

Simple Crop

convert input.jpg -crop 1366x916 output.jpg

High contrast image

convert input.jpg +dither -colors 2 -colorspace gray -contrast-stretch 0 output.jpg
convert input.jpg +dither -colors 2 -colorspace gray -normalize output.jpg

Grayscale and apply a contrast

convert input.jpg -colorspace gray -normalize output.jpg

Enlever un pixel au bas d’une image

input.jpg -gravity South -chop 0x1 output.jpg

http://www.imagemagick.org/Usage/crop/#chop

Convertir en pdf

convert *.jpg out.pdf

En cas de problème > genre

convert-im6.q16: not authorized `scan.pdf' @ error/constitute.c/WriteImage/1037.

Modifier /etc/ImageMagick-6/policy.xml

Source :

  <!-- disable ghostscript format types -->
  <policy domain="coder" rights="none" pattern="PS" />
  <policy domain="coder" rights="none" pattern="EPI" />
  <policy domain="coder" rights="none" pattern="PDF" />
  <policy domain="coder" rights="none" pattern="XPS" />
</policymap> 

vers >

  <!-- disable ghostscript format types -->
  <!--
  <policy domain="coder" rights="none" pattern="PS" />
  <policy domain="coder" rights="none" pattern="EPI" />
  <policy domain="coder" rights="none" pattern="PDF" />
  <policy domain="coder" rights="none" pattern="XPS" />
  -->
  <policy domain="coder" rights="read|write" pattern="PDF|PS" />
</policymap> 

src : https://cromwell-intl.com/open-source/pdf-not-authorized.html

Shell scripts learning

http://gd.tuwien.ac.at/linuxcommand.org/lc3_wss0040.php

Compression

Vers gif 4 couleurs

input.jpg -ordered-dither o8x8,8 -colors 4 -deconstruct +map -layers Optimize output.jpg