Image magick java

Use JMagick (docs). Read the documentation. It provides all the functionality of ImageMagick. You may also look into another ImageMagick Java wrapper, im4java.

There is a good starters document for im4java here


Here is an example, I've worked out.

/** Typical scaling implementation using JMagick **/
ImageInfo origInfo = new ImageInfo(absPath); //load image info
MagickImage image = new MagickImage(origInfo); //load image
image = image.scaleImage(finalWidth, finalHeight); //to Scale image
image.setFileName(absNewFilePath); //give new location
image.writeImage(origInfo); //save

Edit #1:

If you are wondering for the Jar file of JMagick. Download jMagick tarball, untar it.

$ tar xvzf jmagick-linux-6.4.0-Q32.tar.gz 
./jmagick-6.4.0.jar
./jmagick.jar
./libJMagick-6.4.0.so
./libJMagick.so

How to Install JMajick on Windows

  1. Go to http://downloads.jmagick.org/6.3.9/ (or any other version of your choice)
  2. Download ImageMagick-6.3.9-0-Q8-windows-dll.exe and jmagick-win-6.3.9-Q8.zip.
  3. Install the exe file. This will install ImageMagick which is a prerequisite for JMagick to work.
  4. Now extract the zip file. This will give jmagick.dll and jmagick.jar.
  5. Copy the jmagick.jar to you lib folder and include it in the classpath.
  6. Copy the jmagick.dll to the root installation directory of ImageMagic and add it as an entry to the PATH environment variable.
  7. JMagick is installed :).

For ImageMagic 1.4.0

// create command
ConvertCmd cmd = new ConvertCmd();

// create the operation, add images and operators/options
IMOperation op = new IMOperation();
op.addImage("source_picture.jpg"); // source file
op.resize(800,600);
// of op.resize(800); // and height calculate automatically
op.addImage("resized_picture.jpg"); // destination file file

// execute the operation
cmd.run(op);

And if you like maven!

<dependency>
    <groupId>org.im4java</groupId>
    <artifactId>im4java</artifactId>
    <version>1.4.0</version>
</dependency>