Home / LinuxUser / 2000 / 10 / Grafiken schnell passend gemacht

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Debian leicht gemacht
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Aufmacher Artikel

ImageMagick's convert

Grafiken schnell passend gemacht

01.10.2000 Sei es für die Verwendung innerhalb von Web-Seiten oder andere Zwecke: Häufig müssen Grafiken von einem Format in ein anderes konvertiert und dabei noch in Größe und Qualität verändert werden. Mit convertaus dem ImageMagick-Paket machen Sie das schnell auf der Kommandozeile.

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.

Links ein Moorhuhn in Originalgröße, rechts nach dem Verkleinern (zum Vergleich hier auf gleiche Größe gezogen)

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 gepipet, 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.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

4204 Hits
Wertung: 150 Punkte (12 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

Owncloud mit Linuxmint 15 32 Bit
Santana Muggel, 24.04.2014 16:45, 0 Antworten
Hallo, ich habe nach dem Artikel in Heft 05.2014 versucht, owncloud einzurichten. Bei der Inst...
programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...