claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 06/2006

Bilder mit "convert" auf der Shell bearbeiten

Zauberhafte Bildbearbeitung

Heike Jurzik


Es muss nicht immer ein grafisches Bildbearbeitungsprogramm wie Gimp sein. Manches geht auf der Shell schneller -- z. B., wenn Sie einen Schwung Fotos in Form bringen wollen. Wir stellen Tools vor, mit denen alles fast wie von selbst geht.

ImageMagick [1] enthält zahlreiche Programme, die Screenshots erstellen, Bilder in verschiedene Formate konvertieren, die Größe zurechtstutzen, Fotos rotieren und sogar beschriften. Viele grafische Programme nutzen die ImageMagick-Funktionen und -Bibliotheken im Hintergrund, aber die Tools machen auch im Alleingang etwas her.

Wer nur zwei oder drei Bilder nachbearbeiten muss, fragt sich zurecht, warum er auf ein lieb gewonnenes Programm verzichten soll -- gerade wenn die meisten Funktionen vertraut und bequem per Mausklick erreichbar sind. Liegen allerdings zahlreiche Fotos auf der Platte, bieten die ImageMagick-Tools eine schnellere Alternative. Neben ihren Standardfunktionen zeigen wir, wie Sie die Shell-Kommandos gleich auf eine ganze Gruppe von Dateien anwenden.

Format, Format

Das Programm convert ist ein echter Alleskönner -- es wandelt verschiedene Grafikformate um, erstellt PostScript-Dateien, beschriftet Ihre Bilder und wendet Filter an. Um ein Foto beispielsweise vom TIFF- ins JPEG-Format zu wandeln, tippen Sie:

convert bild.tif bild.jpg

Nach dem Befehlsaufruf folgt der Name der Originaldatei, und danach geben Sie den Namen der neuen Datei an. In welches Format convert umwandeln soll, erkennt das Programm an der Dateiendung .jpg; die Originaldatei bild.tif bleibt beim Umwandeln erhalten.

Ein Blick in die Handbuchseite von ImageMagick verrät, welche Grafikformate die mitgelieferten Programme (darunter auch convert) unterstützen. Sie lesen die Dokumentation z. B. bequem im Konqueror, indem Sie man:/ImageMagick in die Adresszeile eingeben (Abbildung 1).

Abb. 1: Ein Blick in die Handbuchseite "ImageMagick" verrät u. a., welche Formate die Tools unterstützen.

Die richtige Größe

Wer Bilder für eine Galerie aufbereitet, beispielsweise um diese anschließend auf einer Web-Seite zu präsentieren, sollte die Größe der Bilder zurechtstutzen. Eine Auflösung von 1024x768 oder 800x600 reicht in der Regel völlig aus. Welches Format Ihre Fotos haben, finden Sie mit dem Befehl identify heraus:

$ identify *.jpg
bild1.jpg JPEG 1600x1200 DirectClass 933kb 0.010u 0:01
bild2.jpg JPEG 1600x1200 DirectClass 1023kb 0.000u 0:01
bild3.jpg JPEG 1600x1200 DirectClass 856kb 0.000u 0:01
...

Mit convert -resize verändern Sie die Größe -- geben Sie die neuen Maße und dieNamen von Orignal- und Zieldatei an:

$ convert -resize 1024x768 bild1.jpg bild1_s.jpg
$ identify bild1_s.jpg
bild1_s.jpg JPEG 1024x768 DirectClass 359kb 0.000u 0:01

Rechts- oder linksrum?

Ebenso schnell rotieren Sie Bilder auf der Kommandozeile. Der folgende Befehl dreht beispielsweise ein Foto um 90 Grad:

convert -rotate 90 bild2.jpg bild2.jpg

Dieser Befehl überschreibt die Originaldatei; wer auf Nummer Sicher gehen will, gibt wieder einen anderen Dateinamen als letztes Argument an. Das Ergebnis betrachten Sie beispielsweise mit dem im ImageMagick-Paket enthaltenen Betrachter display:

display bild2.jpg

Klicken Sie mit der linken Maustaste ins aufgehende Fenster, öffnet sich das englischsprachige Menü, über das Sie u. a. verschiedene Bildbearbeitungsfunktionen erreichen. Um display zu beenden, wählen Sie entweder im Menü File / Quit oder drücken [Q].

Beschriftungskünstler

convert eignet sich darüber hinaus hervorragend dazu, Bilder zu beschriften. Sollen etwa alle Fotos ein Wasserzeichen (z. B. mit dem Namen des Fotografen) erhalten, kombinieren Sie die folgenden vier Optionen:

Es empfiehlt sich, für die ersten Gehversuche das Ergebnis nicht in die Originaldatei zu schreiben. Zusammengesetzt heißt der komplette Befehl z. B.

convert -font /usr/share/fonts/truetype/Comic_Sans_MS.ttf -pointsize 50 -fill grey -draw "text 300,500 'Copyright by Huhnix'" bild1.jpg bild1_beschr.jpg

Abbildung 2 zeigt das Ergebnis dieses Aufrufs.

Abb. 2: Das Programm "convert" verziert Ihre Kunstwerke mit einem Wasserzeichen.

Der passende Rahmen

Noch mehr Farbe bringen Sie ins Spiel, indem Sie einen bunten Rahmen um Ihre Fotos zeichnen. Die passenden Schalter heißen -frame und -mattecolor: Hinter der ersten Option geben Sie die Breite des Rahmens an, und die zweite Option möchte über ihr Argument erfahren, welche Farbe der Rand haben soll. Um oben und unten einen sechs Pixel breiten, roten Rahmen zu zeichnen, verwenden Sie den folgenden Befehl:

convert -mattecolor blue -frame 6x6 bild.jpg bild_rahmen.jpg

Dadurch vergrößert sich das Bild an allen vier Seiten: Ein 800x600 großes Bild misst nach dem Einrahmen mit diesem Befehl 812x612 Pixel.

Alles automatisch

Die Kommandos können ihre Stärke vor allem dann ausspielen, wenn Sie gleich einen ganzen Schwung Fotos bearbeiten. Am besten geht das mit einer for-Schleife. Um etwa alle Dateien im aktuellen Verzeichnis, die auf .jpg enden, um 20 % zu verkleinern und dem Ergebnis die Dateiendung _s.jpg zuzuweisen, tippen Sie beispielsweise:

for i in *.jpg; do convert -resize 20% $i `basename $i .jpg`_s.jpg; done

Was kompliziert aussieht, ist schnell erklärt: Die Schleife weist der Variablen $i nacheinander alle Dateinamen zu, die auf .jpg enden (for i in *.jpg;). Für alle diese Dateien wird nun convert mit dem Parameter -resize aufgerufen -- statt einer festen Größe wie 800x600 definieren Sie hier einfach 20%. Als Ausgangsdatei steht die Variable $i -- die Shell ersetzt diese bei jedem Schleifendurchlauf durch den Dateinamen eines der Bilder. Der Name der Zieldatei setzt sich aus dem "Basisnamen" ohne die Dateiendung und der neuen Erweiterung _s.jpg zusammen. Der Befehl schließt mit der Anweisung done; das fertige Ergebnis zeigt Abbildung 3. (hge)

Abb. 3: Eine For-Schleife mit "convert" erstellt zu allen Bildern Thumbnails.
Infos
[1] ImageMagick-Homepage: http://www.imagemagick.org/

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2014 COMPUTEC MEDIA GmbH | Last modified: 2008-11-05 16:56

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]