Konvertieren von Bilddateiformaten mit der Befehlszeile & nippen

Das Konvertieren von Bildern in neue Dateiformate ist dank einer Vielzahl von Tools, die direkt in OS X (und die meisten Linux-Distributionen) integriert sind, sehr einfach. Obwohl die einfachste Methode die Vorschau zum Konvertieren von Bildern verwendet, gibt es eine Befehlszeilenoption, die das gleiche Slip-Tool verwendet, das wir zuvor besprochen haben, um die Größenanpassung über die Befehlszeile durchzuführen. Mithilfe von Sips können Sie einzelne Bilder in neue Bildformate konvertieren oder sogar Stapelbildkonvertierungen durchführen.

Einfache Bildkonvertierung über die Befehlszeile

Verwenden Sie die folgende Befehlszeichenfolgesyntax, um ein einzelnes Bild mit Sips zu konvertieren:

sips -s format [image type] [file name] --out [output file]

In einer Datei mit dem Namen "test.jpg", die in PNG konvertiert werden soll, lautet die SIP-Syntax beispielsweise:

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

Stapelbildkonvertierung mit Slips

Das Konvertieren einer Gruppe von Bildern ist ein wenig komplizierter und die Verwendung einfacher Platzhalter wie beim Ändern der Größe mit Schlucken funktioniert nicht ganz gleich. Sie werden feststellen, dass die Verwendung eines generischen Platzhalters wie * die Datei auch nicht umbenennt. Daher verwenden wir sehr einfaches Shell-Skripting mit der folgenden Befehlssyntax:

for i in [filename]; do sips -s format [image type] $i --out [destination]/$i.[extension];done

Wenn wir das verwenden, konvertieren wir einen Ordner mit .jpeg-Dateien in png-Dateien in einem neuen Unterordner des aktuellen Verzeichnisses namens "Converted":

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

Wenn Sie diesen Befehl ausführen, werden möglicherweise alle JPEG-Bilder im neuen Verzeichnis in das PNG-Format konvertiert.

Ein möglicherweise ärgerlicher Haken ist, dass die resultierenden Dateinamen auch den ursprünglichen Dateityp enthalten, was bedeutet, dass Sie Dateien mit dem Titel "test.jpeg.png" erhalten. Die Dateierweiterung bleibt korrekt, es ist nur ein Problem mit der Namensgebung. Sie könnten das umgehen, indem Sie sie umbenennen, um damit zu beginnen, und dann die richtige Dateierweiterung hinterher mit einem ähnlichen bash-Skript hinzuzufügen, indem Sie regex verwenden oder manuell mit mv umbenannt werden.

Bei der Ausführung von Sips mit einigen Dateiformaten kann es bei exif-Daten zu "lingpng warning" -Fehlern kommen, diese Fehler können größtenteils ignoriert werden, und die Bildkonvertierung findet weiterhin statt.

Danke an Thom für die Batch-Konvertierung Idee