Linux-Praxisbuch/ ImageMagick

Allgemeines

Bearbeiten

ImageMagick ist der Name eines freien quelloffenen Softwarepakets zur Erstellung und Bearbeitung von Bildern (Rastergrafiken). ImageMagick kann momentan mehr als 90 der größtenteils verwendeten Bildformate lesen, verändern und schreiben. Außerdem lassen sich Bilder dynamisch generieren, weshalb es auch im Web verwendet wird. Durch die Kommandozeilensprache des Programmes wird es viel einfacher, eine größere Zahl von Bildern in andere Bildformate umzuwandeln. Es ist auf keine graphische Umgebung angewiesen. Es gibt APIs für C, C++, Perl, PHP und Python auf den verschiedensten Plattformen.


Was kann das Programm ?

Bearbeiten
  • Bilder anschauen
  • Die Bildgröße ändern
  • Anwendung von Filtern
  • Erstellung von Animationen
  • Erstellung von Graphiken und Schriften
  • Erzeugung von Thumbnails und Rahmen
  • Konvertierung zu anderen Bildformaten
  • Bilder zusammenkleben
  • und einiges mehr

Bedienung mit grafischer Oberfläche

Bearbeiten

Der Befehl display oder display dateiname.endung öffnet die grafische Oberfläche des Programms im X-Server und den Zugriff auf das sichtbar gewordene Bild. Auf die wichtigsten Bearbeitungsfunktionen ist sodann durch die linke Maustaste zuzugreifen. Bei der Bearbeitung der Bilder über die Kommandozeile wird das Bild nicht gezeigt, die Bearbeitung ist dementsprechend schneller.

Bedienung mit Kommandozeile

Bearbeiten

Das Paket ImageMagick enthält sowohl mehrere Dienstprogramme für die Kommandozeile, als auch eine für viele Programmiersprachen verfügbare Programmbibliothek, um die verfügbaren Funktionen direkt in einem Programm zu verwenden.

Die von ImageMagick beherrschten Funktionen strecken sich vom Zusammenfügen mehrerer Bilder über das Hinzufügen bzw. Erzeugen von einfachen Formen und Schrift, Verzerrungen, Größenveränderung und Drehen der Bilder bis hin zu wie von GIMP und Adobe Photoshop bekannten Filterfunktionen wie Unschärfe, Solarisation, Kontrastanpassung oder Invertierung.

ImageMagick enthält neben den Dienstprogrammen zur Bildmanipulation außerdem das Programm import mit dem sich unter X11 Bildschirmfotos erstellen lassen und das Programm display, das als Grafikbetrachter fungiert.

Convert Befehl -- Bilder umwandeln

Bearbeiten

Mit convert wandelt man Bilder in ein anderes Format um. ImageMagick erkennt das gewünschte Zielformat anhand der Endung .

Einfaches Konvertieren

Bearbeiten
  • Konvertierung eines GIF-Bildes in ein PNG-Bild:
convert image.gif image.png

Es wird das Bild image.gif vom GIF Format in ein PNG Format umgewandelt und als image.png abgespeichert.

Konvertieren und Größe ändern

Bearbeiten
convert -size 50x50 image.jpg image.png

Dieser Befehl wandelt das Bild image.jpg vom JPEG ins PNG Format. Außerdem wird das Ergebnisbild auf 50x50 Pixel umgeändert.

Was macht dann folgender Befehl ?

convert -size 120x120 bildgross.tiff -resize 120x120 bildklein.png

Bilder drehen

Bearbeiten

Man kann den Befehl convert auch nutzen, um Bilder zu drehen.

convert -rotate 90 image.jpg image.png

Dieser Befehl dreht das Bild um 90 Grad im Uhrzeigersinn und wandelt es in eine PNG Datei um.

Mit -rotate 270 wird gegen den Uhrzeigersinn gedreht.

Will man das Bild drehen aber im selben Format behalten, dann hilft folgender Befehl:

convert -rotate 90 image.jpg drehimage.jpg

Bilder aneinander hängen

Bearbeiten

Die Option append hängt Bilder aneinander.

Mit einem Minus-Zeichen werden die Bilder von oben nach unten angeordnet:

convert -append image1.jpg image2.jpg image3.jpg imageuntereinander.jpg

Mit einem Plus-Zeichen werden die Bilder von links nach rechts angeordnet:

convert +append image1.jpg image2.jpg image3.jpg imagenebeneinander.jpg

Mehrere Bilder auf einmal konvertieren

Bearbeiten

Im folgenden Einzeiler werden pcx-Bilder in png Bilder umgewandelt.

 for i in *.pcx; do convert $i ${i%.*}.png; done

Die pcx Bilder bleiben erhalten und müssen mit remove noch weggelöscht werden.

 mogrify -format png *.pcx

Mehrere Bilder in Minibilder konvertieren

Bearbeiten

Im folgenden Einzeiler werden pcx-Bilder mit gleichem Seitenverhältnis in ein kleineres Format gebracht, wobei die Zieldateien im Unterordner klein, der existieren muss, abgespeichert werden:

for i in *.pcx ; do convert $i -resize 250x188 klein/$i ; done

Animation

Bearbeiten
  • convert kann mehrere Bilder in einem Verzeichnis in eine Animation umwandeln.
convert -delay 10 *.png movie.mng

Abspielen kann man die Animation mit dem Befehl

animate movie.mng

Composite Befehl -- Bilder zusammenfügen

Bearbeiten

Um Bilder zusammenzusetzen, nutzt man den composite-Befehl. Will man beispielsweise das Bild logo.jpg in die obere rechte Ecke des Bildes image.jpg platzieren, gibt man folgenden Befehl ein:

composite -gravity NorthEast logo.jpg image.jpg summe.jpg

Dieser Befehl platziert das Bild logo.jpg über das Bild image.jpg in der oberen rechten Ecke. Das zusammengesetzte Bild wird als summe.jpg gespeichert.

Jeder Seite eines Bildes wird dabei eine Himmelsrichtung zugeordnet:

  • Oben ist Norden (North)
  • Unten ist Süden (South)
  • Rechts ist Osten (East)
  • Links ist Westen (West)

Center platziert die Bilder mittig übereinander.

Das Summenbild nimmt auf transparente Pixel Rücksicht.

Qualität

Bearbeiten

Die Qualität der von ImageMagick gezeichneten 2D Formen, Schriften und Flächen ist sehr gut. ImageMagick beherrscht auch Antialiasing. Die Filterfunktionen haben allerdings geringere Qualität und können mit denen von Bildbearbeitungsprogrammen wie GIMP und Adobe Photoshop zur Zeit nicht mithalten.

Entwickler

Bearbeiten

ImageMagick wird momentan von mehr als 30 Stammentwicklern und unabhängigen Beiträgen weltweit aktiv weiterentwickelt. Der Programmcode selbst wird hierbei von einer Organisation namens "ImageMagick Studio LLC" getragen, etwa vergleichbar mit der Apache Software Foundation. Von Imagemagick gibt es APIs für C, C++, Perl, PHP und Python auf den verschiedensten Plattformen.

Installation

Bearbeiten

Auf einem Suserechner läßt sich ImageMagick mittels Yast installieren. Auf einem Knoppixrechner geht das nicht. Bei Debian installiert der Superuser das Paket 'imagemagick', z.B.: 'apt-get install imagemagick'.

Wie kann ich feststellen, ob Imagemagick bei mir installiert ist ?

Starten Sie das Programm von der Konsole mit

display

Mit der linken Maustaste können Sie es weiter bedienen.

Oder versuchen Sie ein Bild auf ihrem Rechner auf der Konsole mit

display bild.png 

darzustellen.

Bekommen Sie eine Fehlermeldung der bash ist ImageMagick nicht installiert.

Bearbeiten