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的專欄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM