Imagemagick Batch Convert

Imagemagick Batch Convert
Normalerweise können wir eine Codezeile schreiben, um ein Bild zu transformieren, sei es zum Anschneiden, Ändern der Größe usw. Mit Imagemagick ist alles ganz einfach genug. Nehmen wir jedoch an, dass wir 1000 Fotos hatten, die geändert werden mussten. Was machen wir? Geben Sie den Befehl 1000 Mal ein? Das wäre albern, richtig? Hier verwenden wir die Batch -Conversions. Dies bedeutet, dass wir über die 1000 -Transformation klug sein und höchstens ein paar Codezeilen schreiben können, um sicherzustellen. Grundsätzlich müssen wir die 1000 -Befehle nicht aufschreiben. In diesem Tutorial lernen wir, wie man die Bilder in Imagemagick umwandelt, um die Bilder zu konvertieren.

Installieren des Imagemagike

Wir werden den Imagemagick für diesen Prozess brauchen. Lassen Sie es zunächst mit der folgenden Syntax installieren:

sudo apt-Get Installieren Sie Imagemagick

Mogrifiziert

Angenommen, wir haben 1000 Fotos, die alle die “haben“.PNG ”Erweiterung. Nehmen wir weiter an, dass wir sie alle in eine "verwandeln wollen".JPG ”Datei.

Jetzt, da wir angenommen haben, können wir den Code schreiben.

mogrify -Format JPG *.png

Hier sagen wir dem Imagemagick, dass es viele gibt “.PNG ”-Bilder, die jeweils mit einem“ verwenden “.PNG ”Erweiterung. Wir erzählen dann den ImageMagick mit dem Formatschalter, um das Bild in ein JPG -Bild zu verwandeln. Hier verhindert der Formatschalter, dass die Bilder überschrieben werden. Typischerweise besteht die Unterscheidung zwischen Mogrify und Konvertit darin. Dies ist jedoch nicht der Fall, wenn wir den Formatschalter verwenden (eine Ausnahme von der Regel).

Der Große an diesem kleinen Code ist, dass er so viele Bilder konvertieren wird, wie Sie möchten. Und es ist ein Einzeiler! In diesem Fall speichern wir jedoch alle neuen Dateien in demselben Ordner wie die alten Dateien.

Nehmen wir nun an, dass ich sie ganz in einem ganz anderen Verzeichnis retten möchte. Wir haben ein paar *.JPG und wir sparen sie in einem neuen Ordner namens NewFolder. Nehmen wir weiter an, dass sich die Originaldateien im Ordner Download befinden.

(Die Idee hier ist, dass sich alle Originaldateien im Ordner Downloads befinden, und wir erstellen einen Ordner namens NewFolder, um die transformierten Bilder abzugeben.)

CD -Downloads
MKDIR NEUFOLDER
mogrify -format png -qualität 100 -path ~/downloads/newfolger *.JPG

Also, was passiert hier?? Wir wenden den Befehl mogrifik an und fügen einen neuen Schalter namens Path hinzu. Der Pfadschalter stellt sicher, dass die neuen Bilder in den angegebenen Ordner (NewFolder) abgeladen wurden.

Nehmen wir nun an, dass wir eine Kombination von JPG -Bildern und PNG -Bildern haben und sie in JPEG umwandeln möchten.

mogrify -Format JPEG *

In diesem Fall setzen wir nur einen Stern ein, anstatt anzugeben, welche Bilder wir konvertieren möchten. Der Stern bedeutet, alles zu konvertieren.

Wenn dort Ordner vorhanden sind, stürzt es eine Art Absturz. Verwenden Sie also auch den Pfadschalter.

Konvertieren

Schreiben wir nun etwas anderes mit dem Befehl convert anstelle des mogrifybefehls (der Befehl mogrify überschreibt die Originaldateien überschreiben).

Konvertieren *.PNG -Resize 1234x1234 gegründet -%d.png

Was haben Sie hier bemerkt? Wir haben die Batch -Konvertierung mit dem Befehl convert durchgeführt. Um die Datei umzubenennen, verwenden wir den Begriff „Änderung-%d.PNG ”. Was ist das "%d" -Anzeichen im Namen? Der Rest des Namens macht Sinn, richtig? Und das „%d“ bedeutet, sie mit 0, 1, 2 usw. zu zahlen.

Ein weiteres schnelles Beispiel:

Konvertieren *.PNG -Resize 1234x1234 gewertet -%03d.png

Was bedeutet der „%03D“? Schauen Sie sich die Ausgabe an. Diesmal wird es mit 3 Ziffern umgebracht. Jetzt, anstatt die Änderung der Größe zu sehen, 0.PNG, wir sehen die Größe der Größenänderung-000.png.

Schleifen

Sie können auch die Schleifen schreiben.

für f in *.JPG; Konvertieren Sie "$ f" -qualität 85 "$ f".PNG; Erledigt

In diesem Fall verwenden wir immer noch einen Einzeiler, aber es ist etwas komplexer. In diesem Fall sagen wir, dass wir für jedes Bild namens F das Bild konvertieren und es in „$ f benennen.PNG ”. Wie Sie vielleicht bemerkt haben, wenn das Bild „Image1 nennt.JPG ”, es benennt es in„ Image1.JPG.PNG ”. Dieser Befehl ist ein wenig fehlerhaft. Schauen wir uns also die anderen Möglichkeiten an, um das Bild umzubenennen.

Zuvor haben wir den Befehl mogrify verwendet. Es überschrieben die Bilder wegen des Formatschalters nicht. Wäre der Formatschalter jedoch nicht vorhanden gewesen, hätte er beispielsweise die Datei überschrieben, wenn sie die Größenänderung überschrieben hätte. Was ist also, wenn wir den Befehl convert verwenden möchten??

für Datei in *.PNG; Konvertieren Sie $ file -Resize 1275X12222 -Datei mit der Größe des $ $; Erledigt

Versuchen wir, diesen Befehl zu verstehen.

Der erste Teil des Befehls ist wie folgt:

für Datei in *.PNG;

Der *.PNG bezieht sich auf alle PNG -Dateien. Dies bedeutet "Für eine einzelne Datei im Stapel von Dateien" ist "für eine einzelne Datei".

Der Kernbefehl lautet wie folgt:

Konvertieren Sie $ file -Resize 1275x1222 hochgewertet -$ Datei -

Dieser Teil nimmt einfach die $ file (eine Datei) ein und ändert sie mithilfe des Größenschalters und dann eine Datei namens mit der $ -Datei mit der Größe des Ableitungen aus.

Wir enden dann mit fertig. Dieser Teil ist offensichtlich genug.

Einfach genug, richtig?

Abschluss

Die Batch -Konvertierung ist ein sehr nützlicher Prozess. Es hindert uns daran. In Imagemagick ist der einfachste Weg, um eine Million Bilder zu verwandeln, indem der Befehl mogrifik verwendet wird. Wenn es jedoch nicht in Verbindung mit dem Formatschalter verwendet wird, schreibt es über das Originalbild. Wenn Sie beispielsweise den Befehl mogrify verwenden, um eine Reihe von Bildern umzuwandeln, um sie zu ändern, überschreiben Sie die Originalbilder. Manchmal ist dies möglicherweise nicht das, was Sie wollen, und in solchen Fällen können Sie auf ein kleines Skript zurückgreifen. Das Skript selbst ist ein One -Liner und Sie können den Befehl konvertieren, wenn Sie möchten. Das ist also der gute Teil. Aber es ist etwas komplexer als die einfachsten der Stapelkonvertierungen, die mit dem Befehl mogrifik durchgeführt wurden. In jedem Fall ist der Punkt, dass Sie kein Bild mehr gleichzeitig verwandeln müssen. Sie können die Batch -Conversions fortsetzen, die gleich Tausende und Abertausende von Bildern umwandeln können.