AA_PO-22368-123RF-altomedia.jpg

© Altomedia, 123RF

Bildbearbeitung mit ImageMagick

Bilder im Griff

Wer nicht 1000 Urlaubsbilder von Hand skalieren, normieren, beschneiden oder mit Wasserzeichen versehen möchte, für den führt kein Weg an der Werkzeugsammlung ImageMagick vorbei.

ImageMagick zählt zu den absoluten Dauerbrennern der Open-Source-Szene: Der Grafik-Werkzeugkasten für die Kommandozeile wird sei 1999 kontinuierlich weiter entwickelt und trägt aktuell die Versionsnummer 6.7.7. An der grundsätzlichen Handhabung hat sich über die Jahre kaum etwas geändert, allerdings kommen von Version zu Version neu unterstützte Bildformate, Funktionen oder Programmierschnittstellen hinzu.

Es besteht nur selten ein Anlass, die aktuellste Version von der Projektseite [1] herunter zu laden und aus den Quellen [2] zu übersetzen, weil alle wichtigen Distributionen das Paket bereits mitbringen, Ubuntu 12.04 etwa in der Version 6.6.9.7.

Magisches Universum

ImageMagick gibt es nicht nur für Linux, sondern auch für Windows, Mac OS X und iOS. Zudem existieren diverse Programmierschnittstellen, darunter die C-Core-API Magick Core [3], ein objektorientiertes C++-API namens Magick++ sowie das Perl-Interface PerlMagick, sodass sich Bilder auch dynamisch generieren lassen. Daher setzen selbst Web-Anwendungen häufig auf ImageMagick.

ImageMagick besteht aus einer Reihe von einzelnen Werkzeugen zur Bildmanipulation [4], derzeit elf an der Zahl, von denen convert das bekannteste und am meisten benutzte sein dürfte. Der gemeinsame Nenner aller ImageMagick-Tools besteht darin, dass alle auf das gleiche Fundament an Basis-Bibliotheken zurückgreifen, die unter anderem das Lesen und Schreiben der inzwischen knapp 100 unterstützen Dateiformate ermöglichen. Die Basis-Bibliotheken zeichnen auch für zahlreiche andere grafische Basis-Operationen verantwortlich.

Die eigentliche Mächtigkeit der Tool-Sammlung liegt – abgesehen von den erwähnten Programmierschnittstellen – aber vor allem in der Vielzahl möglicher Operatoren begründet. Dabei stützen sich die Beispiele aus dem Bereich Automatisierung selbstverständlich in erster Linie auf die Fähigkeiten der Bash. Da alle ImageMagick-Tools kommandozeilenorientiert arbeiten, lassen Sie sich auch in vielfältiger Weise verknüpfen.

Das mit Abstand populärste Tool aus der ImageMagick-Sammlung heißt Convert. Viele Nutzer betrachten es irrtümlich als eigenständiges Werkzeug oder gar Linux-Bordgepäck, weil viele Distributionen ImageMagick bereits vorinstallieren. Findet sich Convert auf Ihrem Rechner nicht, installieren sie erst einmal via Paketverwaltung ImageMagick.

Convert kann jedes der unterstützen Dateiformate ineinander konvertieren und außerdem jedes Bild skalieren, beschneiden, beschriften oder in sonst irgendeiner Form transformieren: Es ist also der eigentliche Bildbearbeiter im Reigen der ImageMagick-Tools. Der Einsatz von Convert funktioniert wie bei fast allen Werkzeugen nach dem Schema

$ Befehl Ursprungsbild [Optionen] Ergebnisbild

Dabei erlauben fast alle ImageMagick-Tools statt der Angabe eines Ergebnisbilds auch den Parameter x:, womit das Resultat der Verarbeitung quasi als Preview direkt auf der X11-Oberfläche in einem Viewer erscheint, statt in einer Datei zu landen (Abbildung 1).

Abbildung 1: ImageMagick kann Ergebnisse auch testweise lediglich auf der X11-Oberfläche anzeigen.

ImageMagick-Tools

Name Funktion
animate spielt eine Serie von Bildern schnell hintereinander ab
convert Bilder einlesen, bearbeiten und speichern
compare vergleicht zwei Bilder und schreibt die Unterschiede in eine Bilddatei
composite fügt mehrere Bilder zu einem Bild zusammen
conjure führt Skripte in der Skriptsprache von ImageMagick aus
display stellt ein Bild auf einem X11-Server dar
identify zeigt Dateiformat, Bildgröße und weitere Bildparameter an
import erzeugt Bildschirmfotos
montage fügt mehrere Bilder zusammen
mogrify funktioniert wie Convert, ersetzt aber das Ursprungsbild durch das Ergebnis
stream liest Teile aus Bilddateien aus, um sie etwa als Rohdaten auszugeben

Convert

Der einfachste Anwendungsfall für Convert besteht im Umwandeln des Eingangsformats in eines der unterstützen Ausgangsformate mittels

$ convert bild-alt.jpg bild-neu.png

Die zu verwendenden Grafikformate erkennt Convert anhand der Dateiendung selbstständig. Bei der Gelegenheit ist es ein Leichtes, gleich die Größe des Ziel-Bildes zu verändern, sei es um Thumbnails für eine Web-Galerie zu erzeugen oder Fotos aus verschiedenen Kameras in unterschiedlichen Ausgangsgrößen zu normieren. Convert kennt dazu den Parameter -resize. Er akzeptiert sowohl absolute Größenangaben in Pixeln (-resize 320x240) als auch relative Größenangaben in Prozent (-resize 20%).

Es gilt zu beachten, dass Sie auf diesem Weg zwar eine Zielgröße angeben dürfen, Convert aber ohne weitere Anweisungen stets das Seitenverhältnis des Ursprungsbilds beibehält. Versuchen Sie beispielsweise, einen Laptop-Screenshot von WXGA+ (1440x900) auf XGA (1024x768) herunterzurechnen, führt das entsprechende Kommando

$ convert wxga.jpg -resize 1024x768 xga.jpg

dazu, dass xga.jpg keineswegs das angegebene Zielformat aufweist, sondern vielmehr eine Größe von 1024 mal 640 Pixeln – im selben Seitenverhältnis wie das Ausgangsbild.

Sie können -resize allerdings durch Angabe eines Ausrufezeichens hinter der Größenangabe (-resize 320x240!) auch zwingen, die angegebene Skalierung vorzunehmen. Daraus resultieren je nach Formfaktor des Ursprungsbilds mehr oder minder starke Verzerrungen im Ergebnis.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Sicherheitslücke in ImageMagick
    Die Bildbearbeitungssoftware ImageMagick liegt nicht nur vielen Linux-Distributionen bei, sie kommt auch auf Webservern zum Einsatz. Jetzt wurde eine dramatische Sicherheitslücke entdeckt. Ein Update von ImageMagick steht jedoch noch aus.
  • Zügiger Wechsel
    Manchmal muss man einen ganzen Schwung Bilder am Stück konvertieren. Hier macht ExactImage dem traditionellen ImageMagick Konkurrenz.
  • Weniger ist mehr
    Das ursprünglich für die automatische Bildaufbereitung von gescannten Bildern entwickelte ExactImage lässt sich auch im Alltag an verschiedenen Stellen nutzbringend einsetzen.
  • Grafiken schnell passend gemacht
    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.
  • Zu Befehl: Grafik-Tools aus ImageMagick
    Gimp ist das Standardprogramm, wenn es um anspruchsvolle Bildbearbeitung geht. Doch viele Aufgaben, wie Größenänderung und Formatkonvertierung, erledigen Sie auch schnell auf der Kommandozeile.
Kommentare

Infos zur Publikation

LU 08/2016: Multimedia

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...
Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...
lidl internetstick für linux mint
rolf meyer, 04.06.2016 14:17, 3 Antworten
hallo zusammen ich benötige eure hilfe habe einen lidl-internetstick möchte ihn auf linux mint i...