Open Source im professionellen Einsatz
Newsletter abonnieren
HEFTARCHIV | NEWS | VIDEO | BLOGS | WHITEPAPER | EVENTS | ACADEMY | ABO

Partner-Links:
Shopping
Yatego Deutschlands größte Shoppingmall. 7000 Shops,
2.5 Mio Artikel. Alle Bestseller, Gutscheine und Liveshopping.

Firewall bei Mercateo kaufen.

Ein Preisvergleich bei Hardware lohnt sich.

Bei inkpool.de Laserdrucker und mehr bestellen.

Sie suchen günstige Laptops? Schauen Sie doch mal bei Preisvergleich.org, Preisvergleich.eu, Preisvergleich.ch und Preisvergleich.at vorbei.

Linux Jobs

Job offers Netherlands


user friendly

  Home  »  Heft & Abo  »  Heftarchiv  »  2003  »  12  »  Bilder-Zauberer  

RSS-Feed der aktuellen News von Linux-Magazin Online
Diesen Artikel drucken Diesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren

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).

Diesen Artikel druckenDiesen Artikel weiterempfehlen Diesen Artikel kommentieren Newsletter abonnieren
Diese Seite zu Mister Wong hinzuf�gen Webnews yigg it! Slashdot it! Twittern!
Ähnliche Artikel
Ins Gesicht geblickt Gesichtserkennungs-SDKs OpenCV, Verilook und FaceVACS
Statt Mann und Maus Evolution und Revolution bei der grafischen Benutzerführung
Wasserzeichen setzen Bildbearbeitungs-Plugins für KDE entwickeln
Schön rechnen Grafisch anspruchsvolle Bilder programmieren mit Processing
Torte statt vieler Worte Diagramme mit dem Google-Chart-API
Android: Der Rivale Googles offene Plattform für mobile Endgeräte - der erste Eindruck
Whitepaper
Daten Migration - Eine Publikation von Bloor Research

Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.

Download PDF (Registrierung erforderlich)
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)
Kommentare (0)
 

Impressum |Datenschutzerklärung | © 2010Linux New Media AG
Partner-Sites
Deutschland: [Admin-Magazin] [LinuxUser] [EasyLinux] [Linux-Community] [Linux Technical Review] [Ubuntu User]
Europa: [EasyLinux Polen] [Linux Magazine Polen] [Linux Magazine Spanien]
International: [Linux Magazine International] [Linux Pro Magazine] [Ubuntu User] [Linux Magazine Brasilien] [EasyLinux Brasilien]