Bildbearbeitung mit dem Java-API von Image Magick
Bilder-Zauberer
von Bernhard Bablok
Erschienen im Linux-Magazin
2003/12
Das Java-SDK bietet in der aktuellen Version einige Möglichkeiten für die Bildbearbeitung. Einfacher und performanter geht es aber mit JMagick, dem Java-API für das bekannte Image-Magick-Toolkit.
Mit Image Magick mag schon manch einer gearbeitet haben, ohne es zu wissen. Viele Tools verwenden in bester Unix-Manier unter der Haube die Sammlung der Image-Magick-Programme zur Bildbearbeitung. Seine Stärken spielt das Toolkit besonders dann aus, wenn es um die Massenverabeitung oder komplexe Automation von Bildbearbeitungsvorgängen geht.
In C geschrieben bietet es eine Reihe einfach zu bedienender Kommandozeilenprogramme an, zum Beispiel »mogrify« und »convert« für die Umwandlung zwischen Grafikformaten beziehungsweise das Skalieren von Bildern oder »display« für die Anzeige. Mit »man ImageMagick« erhält man eine Übersicht über alle Programme und darüber, was sie können. Die Kommandozeilenprogramme sind Frontends für das eigentliche Image-Magick-API[2]. Für das C-API gibt es zudem verschiedene Wrapper, unter anderem auch für Perl und eben Java.
Dreischritt mit Hindernissen
Der Quellcode des Java-API, JMagick genannt, steht auf der Website des Autors der Software[3] oder auf[4] bereit. Abhängig von der installierten Version von Image Magick wählt man sich die geeignete Version aus. Für diesen Coffee-Shop ist es die JMagick-Version 5.5.1 im Zusammenspiel mit Image Magick 5.5.4. Für Java-Pakete eher unüblich ist das Build-System mit »autoconf« erstellt. Der übliche Dreischritt »configure;make all;su -c "make install"« erzeugt aber zunächst mal eine Menge Fehlermeldungen.
Zuerst mahnt das Configure-Skript zu Recht die fehlenden Image-Magick- Headerdateien an - hier muss also zusätzlich das Image-Magick-Devel-Paket installiert sein. Außerdem ist »configure« der Aufenthaltsort der »libMagick«-Bibliotheken explizit mitzuteilen (obwohl diese ganz normal unter »/usr/lib« installiert sind). Die dynamische »libMagick« - zumindest in der hier verwendeten Version - ist zudem von Hand zu linken. Ein erneuter Versuch, der diese Vorgaben berücksichtigt, führt schließlich zum Erfolg:
./configure --with-magick-lib-dir =/usr/lib
make all
gcc -shared -o
lib/.libs/libJMagick.so.5.0.510 obj/magick/*.lo -lMagick
su -c"make install" Knappe, aber ausreichende Dokumentation
Die Programme (ein Jar und eine dynamische Bibliothek) landen in »/usr/ local/lib«. Ein »make javadoc« generiert und installiert die Dokumentation des Java-API unter »/usr/local/doc/javadoc«. Sie enthält im Wesentlichen eine Übersicht darüber, welche Methoden mit welchen Parametern aufgerufen werden müssen. Viel mehr ist auch nicht erforderlich, da das API sauber und einfach strukturiert und wenig mehr als ein Wrapper für verschiedene Structs und Funktionen auf C-Ebene ist. Ein Blick in die C-API[2], meist auch als Teil von Image Magick lokal installiert, klärt eventuell offene Fragen.
Drei kleine Beispiele sollen zeigen, wie einfach JMagick anzuwenden ist: für die Ausgabe von Bildinformationen, das Anzeigen sowie das Bearbeiten von Bildern. Die volle Mächtigkeit des Toolkits erschließt ein Blick in »man ImageMagick«. Was dort beschrieben ist, sollte auch mit Java funktionieren. Das erste Beispielprogramm (Listing 1) gibt zu allen als Argumente übergebenen Dateien verschiedene Informationen aus (siehe Abbildung 1).

|
Abbildung 1: Deskriptive Informationen zur Grafikdatei, ausgegeben mit JMagick (Listing 1).
|
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
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 gedrucken Fassung entsprechen.
|