Conversione di formati di file immagine con la riga di comando & sips

Anonim

La conversione delle immagini in nuovi formati di file è molto semplice grazie a una varietà di strumenti integrati direttamente in OS X (e nella maggior parte delle distribuzioni Linux). Sebbene il metodo più semplice utilizzi Anteprima per convertire le immagini, esiste un'opzione della riga di comando che utilizza lo stesso strumento sips di cui abbiamo discusso in precedenza per eseguire il ridimensionamento in batch dalla riga di comando.Utilizzando sips, puoi convertire singole immagini in nuovi formati di immagine o persino eseguire conversioni di immagini in batch.

Semplice conversione di immagini dalla riga di comando

Per convertire una singola immagine con i sips, utilizzare la seguente sintassi della stringa di comando:

formato sips -s --out

Ad esempio, su un file denominato "test.jpg" che si desidera convertire in PNG, la sintassi sips sarà:

sips formato -s png test.jpg --out test.png

Conversione batch di immagini con sorsi

La conversione di un gruppo di immagini è un po' più complicata e l'utilizzo di semplici caratteri jolly come quando si ridimensiona con i sips non funziona allo stesso modo. Scoprirai che anche l'utilizzo di un carattere jolly generico comenon rinomina il file, quindi utilizzeremo uno script di shell molto semplice con la seguente sintassi del comando:

for i in ; do sips -s formato $i --out /$i.;done

Utilizzandolo, convertiremo una cartella di file .jpeg in file png in una nuova sottocartella della directory corrente, chiamata "Converted":

for i in .jpeg; do sips -s formato png $i --out Converted/$i.png;done

L'esecuzione di questo comando potrebbe comportare la conversione di tutte le immagini JPEG in formato PNG nella nuova directory.

Un problema potenzialmente fastidioso è che i nomi dei file risultanti includeranno anche il tipo di file originale, il che significa che ti ritroverai con file intitolati "test.jpeg.png". L'estensione del file rimane corretta, è solo un problema di denominazione. Potresti aggirare il problema rinominandoli per cominciare, quindi aggiungendo l'estensione di file corretta in seguito con uno script bash simile, usando regex o rinominandoli manualmente con mv.

Durante l'esecuzione di sips con alcuni formati di file potresti riscontrare errori di 'lingpng warning' relativi ai dati exif, questi errori possono essere ignorati per la maggior parte e la conversione dell'immagine avrà comunque luogo.

Grazie a Thom per l'idea della conversione batch

Conversione di formati di file immagine con la riga di comando & sips