Mi è capitato ultimamente di dover ridimensionare delle immagini sulla mia Debian Squeeze .
Finchè loperazione era per una sola immagine non vi sono stati problemi , ma quando si è trattato di dover ridimensionare un’intera cartella di immagini , allora mi sono messo a pensare.
Ebbene con un semplice comando da shell è possibile far compiere a Debian l’operazione di resize.
Per prima cosa occorre installare imagemagick
apt-get install imagemagick
Nel caso si debba eseguire operazioni di conversione su una sola immagine , consiglio la lettura di questa guida.
Se l’iimagine è solo da ridimensionare , un semplice comando eseguirà l’operazione
$magick> convert rose.jpg -resize 50% rose.png
Se avete letto la guida prima postata , scoprirete le altre opzioni disponibili.
Ora proseguendo la lettura vedremo come fare nel caso di più immagini .
Sempre facendo riferimento al comando di prima , nel caso le immagini da converite siano all’interno di una stessa cartella , occorre spostarsi da shell nella cartella che le contiene e impartire il seguente comando :
for k in $(ls *.jpg); do convert -resize 50% -quality 80 $k r-$k; done
In questo caso le immagini verranno ridimensionate del 50% rispetto all’originale , con una qualità dell’80% e automaticamente rinominate con l’aggiunta di r- prima del nome originale.
Se avete preferenze diverse , basta modificare i parametri del comando per fargli eseguire ciò che desideriamo.
Altra soluzione , si può avere utilizzando uno script che ho trovato in rete .
[Download non trovato]Rinominate il file a vostro piacimento e se desiderate modificare i parametri esaminatelo in lettura e agite a seconda delle vostre esigenze .
Eseguitelo da shell ponendo dopo il comando il percorso della cartella da convertire , il tempo strettamnte necessatio alla conversione et voilà , le immagini saranno pronte.
Ovviamente non c’è limite nell’imparare i comandi da shell , e grazie a pochi e semplici passi vi abituerete velocemente a usare la Linux come si deve.
Happy convert a tutti.
Ho provato diverse conversioni , segnalo anche questa modifica :
for k in $(ls *.jpg); do convert -quality 85 $k r-$k.jpg; done
resta il problema che nella conversione da altro formato (es.bmp) mi resta il nome file.bmp.jpg .
Ma con un rinomina generale sistemo tutto .
ciao