ImageMagic è un'utilità della riga di comando versatile e ampiamente utilizzata per convertire le immagini da un formato all'altro. Supporta oltre 200 formati di immagine, inclusi JPEG, JPG PNG, GIF, PDF, BMP, SVG e altri. ImageMagick può essere utilizzato per vari scopi come ruotare un'immagine, trasformare immagini, ritagliare immagini, aggiungere didascalie, modificare i colori delle immagini, aggiungere effetti speciali alle foto e disegnare linee, poligoni e altre forme su di esse. Questo articolo copre i comandi di manipolazione delle immagini ImageMagick più utilizzati.
Installazione di ImageMagick
Esegui il comando seguente per installare ImageMagick pacchetto per iniziare a convertire le immagini in più formati diversi:
sudo apt -y install imagemagick

Utilizzo di ImageMagick
Converti è un'utilità della riga di comando che fa parte di "ImageMagick pacchetto ".
Una volta installati i pacchetti ImageMagick, assicurati che sia stata installata anche l'utilità di conversione:
convert --version

Elencare i formati immagine
ImageMagick può aiutare a convertire il formato dell'immagine da un formato all'altro ed è una delle attività più preziose.
Per elencare tutti i formati supportati, usa il seguente comando:
convert -list format | more

Oltre ai formati più comunemente usati come BMP (immagine bitmap in Microsoft Windows), Graphics Interchange Format (GIF), JPG (formato immagine JPEG) e PNG (Progressive Network Graphics), ImageMagick supporta un'ampia gamma di tipi di file aggiuntivi, inclusi tutti i principali formati video (MKV, MP4, AVI, MOV).
Può anche convertire EPSF (Encapsulated Postscript) e PDF (Portable Document Format), che è utile in alcune situazioni.
Conversione del formato immagine
La conversione di un'immagine da un formato a un altro è semplice.
Specifica il formato in cui vuoi convertire la tua immagine:
converti WindowsImages-016.png Output_Image.jpeg

Puoi convertire tutti i *.png
immagini in formato JPEG utilizzando mogrify :
mogrify -format jpeg *.png
Ora, proviamo con una cartella contenente più immagini .jpeg e vediamo cosa succede:

Ridimensionamento dell'immagine
L'opzione di ridimensionamento ti aiuterà a ridimensionare l'immagine o a creare rapidamente una miniatura, ad esempio.
Diciamo che voglio ridimensionare la mia immagine con dimensioni del 25%, verrà generata una nuova immagine con dimensioni del 25%:
convert -resize 25% '1. Loops in Python - Flow diagram - for loop.png' '1. Loops in Python - Flow diagram - for loop.png'

In alternativa, puoi anche specificare le dimensioni anziché la percentuale per ridimensionare la tua immagine:
convert -resize 1024x768 '1. Loops in Python - Flow diagram - for loop.jpg' '1. Loops in Python - Flow diagram - for loop - Resized.jpg'

Il comando sopra ha ridimensionato l'immagine a 1024×768 pixel e salvata come 1. Loops in Python - Flow diagram - for loop - Resized.jpg
file.
Ritaglia immagine
Se devi rimuovere qualcosa dalla parte superiore o dai lati dell'immagine, puoi ritagliarla eseguendo il comando mostrato di seguito:
convert 'Conditionals in Python.png' -crop 640x360+320+180 'Conditionals in Python - Cropped.png'

Qui, per l'immagine ritagliata Conditionals in Python - Cropped.png
abbiamo specificato le dimensioni target di 640×480 pixel e l'offset +320+180 per identificare dove dovrebbe iniziare il ritaglio.
Ecco una spiegazione grafica dell'operazione di ritaglio:

Immagine rotante
Puoi ruotare l'immagine con l'orologio e in senso antiorario.
Usa il comando seguente per ruotare Conditionals in Python - Cropped.png
immagine in senso orario a 90 gradi e salvala come Conditionals in Python - Rotated.png
file:
convert 'Conditionals in Python - Cropped.png' -rotate 90 'Conditionals in Python - Rotated.png'

Aggiungere didascalie all'immagine
Puoi aggiungere la didascalia all'immagine e impostare il colore del testo, la dimensione del carattere e le opzioni di stile.
Usa il -disegna opzione per specificare la didascalia tra virgolette singole o doppie:
convert 'Terminal.png' -pointsize 64 -font helvetica -fill yellow -draw 'text 512,512 "Welcome to ImageMagick"' 'Terminal with text.png'

Combinazione di più comandi
Puoi eseguire più operazioni utilizzando un unico comando specificando l'orientamento, i pixel e le dimensioni dell'immagine invece di eseguire tutte queste azioni separatamente quando necessario:
convert 'Terminal.png' -rotate 90 -crop 1000x600 -resize 25% 'Terminal transformed.png'

Elaborazione batch di immagini
Una delle operazioni più comuni è elaborare tutte le immagini da una directory specifica.
Diamo un'occhiata a come possiamo applicare l'operazione di ridimensionamento in blocco a tutte le immagini.
Crea una directory denominata "ridimensionata".
mkdir resized
Ora, usa can eseguire il seguente comando per ridimensionare tutti i .jpg
file nella directory corrente al 25% della loro dimensione originale e inserisci i file dei risultati nel resized
sottodirectory:
find . -name '*.jpg' -print0 | while read -d $'\0' file; do; do convert "$file" -resize 25% resized/"$file"; done

Riepilogo
ImageMagic è una potente utility da riga di comando per convertire le immagini da un formato all'altro che supporta un'ampia gamma di formati. È una piattaforma multipiattaforma che funziona su macOS, Linux e Windows. ImageMagic può aiutarti con varie attività, inclusa la conversione di immagini da un formato all'altro (ad es.:png, jpeg, pdf, gif, Mp4 e così via), ridimensionare l'immagine, sfocare l'immagine, aggiungere colori e inserire una didascalia a un'immagine. Inoltre, è possibile ruotare un'immagine sull'orologio o in senso antiorario, ritagliare immagini, aggiungere effetti e molte altre funzionalità. In questa guida, abbiamo illustrato come le immagini manipolano con Imagemagick per convertire da un formato all'altro.