Im4java+ImageMagick/GraphicsMagick

im4java的jar包可以在maven库中找到。

<dependency>

            <groupId>org.im4java</groupId>

            <artifactId>im4java</artifactId>

              <version>1.4.0</version> 

        </dependency>

  


将ImageMagick或者GraphicsMagick安装好后,再配好环境变量。

 

样例代码:

 

import org.im4java.core.ConvertCmd;

import org.im4java.core.IMOperation;



public class Test {



	public static void main(String[] args) {

		try {

			zoomImage(1000,800,"F:/u02/origin/20141215/loginbigbg.jpg","F:/u02/origin/20141215/loginbigbg_new.jpg");

		} catch (Exception e) {

			e.printStackTrace();

		}

	}



	public static void zoomImage(Integer width, Integer height, String srcPath, String newPath) throws Exception {    

        IMOperation op = new IMOperation();    

        op.addImage(srcPath);

        if(width == null){//根据高度缩放图片  

            op.resize(null, height);      

        }else if(height == null){//根据宽度缩放图片  

            op.resize(width, null);  

        }else {  

            op.resize(width, height);  

        }

        op.addImage(newPath);

        //这里不加参数或者参数为false是使用ImageMagick,true是使用GraphicsMagick

        ConvertCmd convert = new ConvertCmd();

//        convert.setSearchPath("g:/tool/graphicsmagick-1.3.20-q16");

        convert.setSearchPath("G:/tool/ImageMagick-6.9.0-Q16");

        convert.run(op);    

    }

}

  

 

其中setSearchPath在Windows环境下是需要设置的。

 

ConvertCmd convert = new ConvertCmd();

  

 

这一句,如果只安装了ImageMagick,但是定义时写成了new ConvertCmd(true)是,会报找不到“gm”的错。

 

org.im4java.core.CommandException: java.io.FileNotFoundException: gm

	at org.im4java.core.ImageCommand.run(ImageCommand.java:219)

	at com.trs.rk.test.Test.zoomImage(Test.java:31)

	at com.trs.rk.test.Test.main(Test.java:10)

  

 

同理,如果只装了GraphicsMagick,但是new ConvertCmd(false)或者无参数,会报找不到convert的错。

 

 

org.im4java.core.CommandException: java.io.FileNotFoundException: convert

	at org.im4java.core.ImageCommand.run(ImageCommand.java:219)

	at com.trs.rk.test.Test.zoomImage(Test.java:31)

	at com.trs.rk.test.Test.main(Test.java:10)

  

 

转自:mzglzzc的专栏

你可能感兴趣的:(GraphicsMagick)