Grafiken schnell passend gemacht
ImageMagick's convert
Die einfachste Funktion von convert
ist die Konvertierung zwischen verschiedenen Bildformaten; dabei geben Sie einfach die Namen von Ursprungs- und Zieldatei an - convert
erkennt an der Dateiendung das richtige Format. Um etwa ein Bild vom Jpeg- ins GIF-Format umzuwandeln, geben Sie
convert mohrhuhn.jpg mohrhuhn.gif
ein. Die Liste der convert
bekannten Formate ist übrigens erstaunlich lang. Wenn das Programm die Endung der Bilddatei nicht versteht, erwartet es vielleicht eine leicht andere Endung. Rufen Sie in diesem Fall die man
-Seite zu convert
mit
man convert
auf und suchen Sie dort nach dem gewünschten Dateityp. Jeder der Dateitypen besitzt eine eindeutige Kennzeichnung wie z. B. "BMP" für Microsoft Windows Bitmaps oder "JPEG" für das im Internet häufig verwendete Jpeg-Format. Die Plus-Zeichen ("+"), die hinter einigen dieser Kürzel stehen, sind zu ignorieren.
Um nun ein Bild in die Jpeg-Datei mit dem ungewöhnlichen Namen test.bild
zu konvertieren, können Sie den Aufruf
convert mohrhuhn.jpg JPEG:test.bild
verwenden. Durch Voranstellen des "JPEG:" ist convert
klar, was zu tun ist, obwohl die Zieldatei nicht auf .jpg
endet. Eine der möglichen Kennzeichnungen ist übrigens "X:", womit das X Window System gemeint ist. Diese ist nur verfügbar, wenn Sie auch unter X arbeiten und hat die folgende Bedeutung:
- Als "Eingabe-Datei" führt ein Aufruf der Form "convert X: ausgabe.jpg" dazu, dass das nächste angeklickte Fenster gecaptured und in
ausgabe.jpg
abgespeichert wird, - bei Verwendung als "Ausgabe-Datei" über einen Aufruf der Form "convert bild.jpg X:" wird dei Grafik einfach in einem X-Fenster angezeigt.
Noch viel mehr
Die Fähigkeiten, zwischen den diversen Dateiformaten umzuwandeln, würde eine Vorstellung schon alleine rechtfertigen, aber convert
kann noch viel mehr. Als Teil des ImageMagick-Pakets hat es auch Zugriff auf viele der Filter, die in ImageMagick zur Verfügung stehen. Wenn Sie beispielsweise ein großes Bild auf eine kleinere Auflösung "runter rechnen" wollen, sieht das Ergebnis oft recht pixelig aus; besser wird es, wenn Sie es vorher durch den Blur-Filter jagen, der das Bild unschärfer macht - dies ist zum Beispiel beim Grafikprogramm xv
die vernünftigste Vorgehensweise. convert
ist aber schlauer und rechnet das Bild beim Verkleinern automatisch in guter Qualität um.
Um ein großes Bild klein zu machen, verwenden wir die Option "-geometry" zur Größenänderung:
convert gross.jpg -geometry 300x200 klein.jpg
Die man
-Page zu convert
hält am Ende (nach einer ausführlichen Beschreibung aller unterstützten Bildformate) eine Liste aller Optionen bereit, mit denen Sie Ihr Bild verändern können. Interessant sind beispielsweise "-crop" zum Ausschneiden eines Rechtecks aus dem Ursprungsbild und "-draw" zum Zeichnen einfacher grafischer Elemente (Linie, Kreis, Bezier-Kurve, Text u. v. m.) über das Bild.
Gut für Skripte
Spielen Sie ein wenig mit den Möglichkeiten von convert
herum: Das Programm eignet sich besonders zum Einbauen in Shell-Skripte und kann damit komplexe Bildbearbeitungsvorgänge automatisieren: Um etwa alle Bilder in einem Verzeichnis zu kleinen 50x50-Icons runter zu rechnen, könnten Sie das folgende Shell-Skript verwenden:
#!/bin/bash for bild in *.gif; do ziel=`echo $bild | sed s/.gif/_small.gif/` convert $bild -geometry 50x50 $ziel done
In der etwas umständlich wirkenden dritten Zeile wird aus jedem Quelldatei-Namen irgendwas.gif
im aktuellen Verzeichnis ein Zieldateiname irgendwas_small.gif
berechnet: dazu wird der Name in das Kommandozeilen-Tool sed
gepipe
t, und dort wird die Endung ".gif" durch "_small.gif" ausgetauscht. Das Ergebnis dieses sed
-Aufrufs wird dann über die Rückwärts-Quotes "
`" in die Variable $ziel geschrieben.