im4java的jar包能夠在maven庫中找到。html
<dependency> <groupId>org.im4java</groupId> <artifactId>im4java</artifactId> <version>1.4.0</version> </dependency>
將ImageMagick或者GraphicsMagick安裝好後,再配好環境變量。java
樣例代碼:maven
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環境下是須要設置的。.net
ConvertCmd convert = new ConvertCmd();
這一句,若是隻安裝了ImageMagick,可是定義時寫成了new ConvertCmd(true)是,會報找不到「gm」的錯。htm
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的錯。blog
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的專欄圖片