Ridimensionare immagini tramite script con ImageMagik

Ridimensionamento automatico delle immagini per adattarle a siti statici

Indice

Mainroad theme in Hugo non ridimensiona automaticamente le immagini, ma le copia semplicemente dalla cartella statica. Quindi dobbiamo preparare uno script per ridimensionare e tagliare le immagini alle dimensioni corrette.

678x495 wizard

Quando

Ho diverse fonti di immagini – lo smartphone e la fotocamera sono le più utilizzate. Hanno risoluzioni e rapporti di aspetto diversi.

Quindi dobbiamo definire una sequenza di elaborazione:

  • taglio centrale al rapporto di aspetto
  • ridimensionamento (riduzione) a due risoluzioni. La qualità JPEG del 80% è sufficiente.
    • 235x171
    • 678x495

Dove

Supponiamo che le immagini di origine siano tutte nella cartella ~/tmp/img_src Dobbiamo

  • spostare le immagini elaborate nelle cartelle ~/tmp/img_235x171 e ~/tmp/img_678x495
  • nominare le immagini come _235x171.jpg e _678x495.jpg

Come

In Ubuntu Linux utilizzeremo Imagemagick

sudo apt-get install imagemagick

Passo di taglio:

convert wizard.png -gravity center -extent 11:8 wizarc.jpg
# ora controlliamo le dimensioni
identify wizard.png wizarc.jpg

Passo di ridimensionamento

convert wizarc.jpg -resize 678x495 -quality 80 -interlace plane wizarc_678x495.jpg
convert wizarc.jpg -resize 235x171 -quality 80 -interlace plane wizarc_235x171.jpg
# ora controlliamo le dimensioni
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg

L'80 indica la qualità JPEG e plane significa JPEG progressivo. Aiuterà a caricare le immagini più velocemente su connessioni lente, non solo perché verrà caricato prima il riquadro, ma anche perché il file stesso è più piccolo. Almeno nel caso del mago.

Con bordi

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
# ora controlliamo le dimensioni
identify wizarc.jpg wizarc_678x495.jpg wizarc_235x171.jpg

L’immagine risultante che vedete nell’intestazione di questo post e le proporzioni dell’immagine di origine erano simili a:

20% del mago

che è il risultato di un semplice ridimensionamento e l’aggiunta di un bordo

convert wizard.png -resize 20% -quality 85 -interlace plane -border 2x2 wizard20.jpg

Altre opzioni

nautilus-image-converter

nautilus-image-converter è un’estensione per Nautilus per ridimensionare o ruotare in massa le immagini. Per installare nautilus-image-converter in tutte le versioni attualmente supportate di Ubuntu apri il terminale e digita:

sudo apt-get install nautilus-image-converter

Aggiunge due voci nel menu contestuale in Nautilus, così puoi fare clic destro e scegliere “Ridimensiona immagine”. (L’altra è “Ruota immagine”).

Puoi ridimensionare l’intera cartella di immagini in un solo colpo e non devi nemmeno aprire un’applicazione per farlo.

Dovrai riavviare Nautilus per visualizzare i nuovi menu contestuali, esegui

nautilus -q

e poi fai clic sull’icona della cartella Home per ricaricare Nautilus con il nuovo plug-in.

mogrify

Il comando mogrify sovrascrive i file originali con le immagini ridimensionate:

mogrify -resize 50% *.png # mantieni il rapporto di aspetto mogrify -resize 320x240 *.png # mantieni il rapporto di aspetto mogrify -resize 320x240! *.png # non mantieni il rapporto di aspetto mogrify -resize x240 *.png # non mantieni il rapporto di aspetto mogrify -resize 320x *.png # non mantieni il rapporto di aspetto

Altri strumenti utili

Ottieni i dettagli meta delle immagini – come risoluzione, bitdepth, ecc. – parte del pacchetto imagemagick.

identify image.jpg 

produrrebbe qualcosa come

image.jpg JPEG 720x482 720x482+0+0 8-bit DirectClass 100KB 0.000u 0:00.009

Converti immagini in PDF

convert $(ls -v *.jpg) foobar.pdf
convert $(ls -v *.png) foobar.pdf