zoukankan      html  css  js  c++  java
  • 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的专栏

  • 相关阅读:
    c语言知识
    数字地与模拟地
    C语言实现顺序表(增删)
    传统数据库、Nosql数据库与云数据库区别?
    大数据处理架构如何
    warning: implicit declaration of function 'func1' [-Wimplicit-function-declaration]
    window10创建virtualenv虚拟环境
    二叉树的实现以及三种遍历方法--代码
    损失函数--KL散度与交叉熵
    市场回测与对冲套利
  • 原文地址:https://www.cnblogs.com/zf2011/p/4468647.html
Copyright © 2011-2022 走看看