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

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(220 Punkte bei 8 Stimmen)
KDE 4.10.2, Gnome 3.6 und mehr
(143 Punkte bei 5 Stimmen)
Google schmeißt Jabber raus ...
(121 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.

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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

3338 Hits
Wertung: 136 Punkte (11 Stimmen)

Schlecht Gut

Infos zum Autor

Hans-Georg Eßer

Hans-Georg Eßer

Hans-Georg Eßer ist Chefredakteur der Zeitschrift EasyLinux, Doktorand an der Uni Erlangen-Nürnberg und seit Mitte der 90er begeisterter Linux-Anwender.


Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen 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

Emacs als Psychologe
Emacs als Psychologe
Tim Schürmann, 21.05.2013 11:49, 0 Kommentare

Wer beim Schreiben in Emacs nicht mehr weiter weiß oder schier an einer Programmieraufgabe verzweifelt, der kann den eingebauten Psychologen um Rat fragen.

1966 entwickelte der Infor...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...