im4java
NoteThe current version of im4java is 1.2.1Introduction
im4java is a pure-java interface to the ImageMagick
commandline. For details about the project, please visit the
main project page.License
im4java is licensed under the LGPL (see file COPYING.LIB in
the downloaded packages). Since im4java is a wrapper libary, you
should also make sure that you comply to the individual
license-statements of all the tools you use indirectly through
im4java.Description
im4java is (to my knowlegde) the second java interface to
ImageMagick. It is not meant as a replacement for JMagick, but as an
addition.JMagick is a thin JNI layer above the ImageMagick C-API. im4java in
contrast just generates the commandline for the ImageMagick commands and
passes the generated line to the selected IM-command (using the
java.lang.ProcessBuilder.start()-method).Disadvantages of the approach: your are limited to the
capabilities of the IM commands. With JMagick, you have access to
the low-level interface of IM and therefore you have a very
detailed control of the processing of images. And you have
better performance.Advantages of im4java: the interface of the IM commandline is quite
stable, so your java program (and the im4java-library) will work
across many versions of IM. im4java also provides a better OO interface
(the "language" of the IM-commandline with it's postfix-operation
notation translates very easily into OO-notation). And most important:
you can use im4java everywhere JMagick can't be used because of the
JNI hazard (e.g. java application servers).Features
- supports most ImageMagick commands
- reuse a commandline multiple times for different set of
images- IM options and operators translate into similar
method-names, e.g.
-resize 1024 -> .resize(1024) or .resize(1024,null) -resize 1024x768 -> .resize(1024,768) -resize x768 -> .resize(null,768) -sigmoidal-contrast 20 -> .sigmoidalContrast(20.) -append -> .append() +append -> .p_append()