Anwenden des Befehlszeilen basierten Bildprozessors NConvert

Andreas Preuss
06-07-2018 10:01

Wenn man regelmäßig die Größe von Bildern ändert, dreht, zuschneidet oder mehrere Bilder konvertieren muss, dann gibt es für die Konsole einige sehr effektive Tools mit denen man sich die Arbeit vereinfachen und automatisieren kann. Ein sehr ausgereiftes Werkzeug ist zum Beispiel traditionell ImageMagic oder GraphicsMagick mit sehr umfangreichen und auch programmierbaren Funktionen, die zeitweise aber auch durch sehr viele Schalter wie (-d /x -g) etwas kryptisch erscheinen.

Ein meiner Meinung nach auch sehr anwenderfreundliches Werkzeug, auf das Wesentlichste bezogen, ist das Programm NConvert. Es ist ein Multiformat-Kommandozeilen-Image-Konverter für Win32, Linux, DOS, OS/2 und viele andere Plattformen. Auch dieses Programm hat schon eine Menge an Funktionen, mit Werkzeugen zum Zuschneiden, Ändern der Größe und Drehen von Bildern, zum Optimieren von Helligkeit, Kontrast und Farbe, zum Anwenden von Schärfe- oder Weichzeichnungsfiltern, zum Hinzufügen von Wasserzeichen und sogar zum Entfernen oder Bearbeiten von Metadaten.

Das Programm liest mehr als 500 Bildformate und kann in mehr als 70 Formaten exportieren. Es ist natürlich immer noch ein Kommandozeilen-Tool, aber es ist sehr leicht zu benutzen.

Hier einige Beispiele zur einfachen Konvertierung und Speicherung:

# Einfaches eingescanntes Bild als GIF abspeichern:
nconvert -out gif ScannedImage1.jpg

Das ist natürlich nur eine sehr einfache Aufgabe, aber auch fortgeschrittenere Befehle sind immer noch sehr verständlich:

# Hier wird die Größe aller JPEGs im Ordner verdoppelt dann als PNGs gespeichert:
nconvert -out png -Resize 200% 200% *.jpeg 

# Hier wird die Farbpallette aller GIFs im Ordner erhöht und als JPEG-Dateien gespeichert:
nconvert -out jpeg -truecolors *.gif

# Hier wird von allen JPEGs im Ordner die Farbpalette reduziert und anschliessend als GIF gespeichert:
nconvert -out gif -dither -farben 256 *.jpeg

Oder bei Verwendung von Bildsequenzen:
Zum Beispiel, indem wir die 11 Dateien: datei00.pic, datei01.pic, ...., datei10.pic in JPEG konvertieren und mit dem Namensmuster res0.jpg, res1.jpg, ...., res10.jpg abspeichern.

# Konvertierung einer Bildsequenz:
nconvert -out jpeg -n 1 10 1 -o res#.jpg file##.pic

# Einfaches Konvertieren mit Größenänderung:
nconvert -out png -resize 510 230 *.jpeg
nconvert -out png -ratio -resize 510 0 *.jpeg
nconvert -out png -ratio -resize 0 510 *.jpeg
nconvert -out png -Resize 200% 200% *.jpeg

Das % Zeichen kann dazu verwendet werden, um den Quelldateinamen im Zieldateinamen angeben zu können:

# Hier wird eine Datei namens result_file.jpg erzeugt:
nconvert -out jpeg -o result_%.jpg file.tga 

# Achtung : In Windows DOS Batch-Dateien muss man %% statt % schreiben ! 

Auch bei dem Programm NConvert sollte man sich natürlich mit den verschiedenen Konsolen-Befehlen vertraut machen.

# Der übliche Befehl -help zeigt die verfügbaren Optionen an:
nconvert -help  
# Oder gleich den Hilfetext in die Datei "nchelp.txt" speichern, um ihn besser lesen zu können.
nconvert -help > nchelp.txt 

Sobald man jedoch die Grundlagen verstanden hat, bietet NConvert eine enorme Flexibilität. Man kann Skripte erstellen, und bei Bedarf beliebig ausführen; zu einer bestimmten Tageszeit; wenn das System startet, im Leerlauf oder beim Herunterfahren; vor oder nach der Ausführung anderer Programme und vieles mehr. NCconvert wird mit einem Skript gesteuert, indem man beispielsweise mehrere Konvertierungen von mehreren Arten von Bild-Dateien durchführt:

### -out png -rtype lanczos -resize 200% 150%
screenshot1.bmp
screenshot2.bmp
screenshot3.bmp
### -out gif -rtype lanczos -resize 500% 500% -oil 10 -colours 32
F:\icons\smile.bmp
### -out bmp -rtype lanczos -resize 30% 30% -oil 2 -rotate_flag smooth -rotate 45
selfportrait.png
mydog.png

Diese Befehle einfach in eine Textdatei speichern, z.B. "nc.txt", und dann nconvert mit dieser Datei als einzigen Parameter ausführen:

nconvert nc.txt

Es gibt auch eine grafische GUI-Version, die XNConvert heisst.

Hiermit kann man z.B. sehr umfangreiche Bearbeitungen auch mit visueller GUI und Maus erstellen, als Script abspeichern und über ein Bash- oder Batch Script ausführen.

Einschränkungen:
- Die Funktion Text hinzufügen verwendet die Win32-API und ist nur unter Win32 verfügbar.
- Einige exotische Bildformate verwenden externe DLL's und sind nur unter Win32 verfügbar.
- Wenn man eine Skriptdatei verwendet, sollte man mehrere Leerzeichen in den Konvertierungsdefinitionen vermeiden, da sie unnötig den Parser verwirren könnten.
- Das Konvertieren sehr großer Bilder oder das Skalieren auf eine sehr große Größe erfordert viel Speicherplatz und kann bei zu wenig Speicher unter Umständen möglicherweise nicht immer funktionieren.
- NConvert ist in seiner DOS Variante eine 32-Bit-DOS-Anwendung, die den "DOS/32A Extender" verwendet.

Tags: Bildbearbeitung, CMD, DOS, Grafik, Konsole, Linux, NConvert, Tool, Windows
Durchschnittliche Bewertung: 5 (1 Abstimmung)

Es ist möglich, diese FAQ zu kommentieren.