im4java 處理圖片
- windows下安裝imagemagick
- im4java下載地址:http://sourceforge.net/projects/im4java/files/im4java-1.4.0/im4java-1.4.0-bin.tar.bz2/download </ol>
操作完上面2步,下面就很好操作了。因為im4java是基于imagemagick的commandline進行調用的java接口,不像 jmagick那樣用java jni調用本地imagemagick的api那么復雜。其實安裝imagemagick在任何平臺都是一樣的安裝,在linux下面有rpm包,安裝那個包,指定目錄就可以了。windows一樣,安裝并指定安裝路徑就可以了。下面上代碼
public static String FROM = "E:/project/Test/src/com/8301.jpg"; public static String TO = "E:/project/Test/src/com/8301_new.jpg"; public static String IMAGEMAGICK = "D:/Program Files (x86)/ImageMagick-6.8.7-Q16"; /** * @param args */ public static void main(String[] args) { handlerImage(1000, 1000); } public static void handlerImage(int width, int height) { IMOperation op = new IMOperation(); op.addImage(FROM); op.resize(width, height);//壓縮圖片 op.addImage(TO); ConvertCmd convert = new ConvertCmd(); convert.setSearchPath(IMAGEMAGICK); try { convert.run(op); } catch (IOException | InterruptedException | IM4JavaException e) { e.printStackTrace(); } } <!-- lang: java --> /** * * 根據坐標裁剪圖片 * * @param srcPath 要裁剪圖片的路徑 * @param newPath 裁剪圖片后的路徑 * @param x 起始橫坐標 * @param y 起始縱坐標 * @param x1 結束橫坐標 * @param y1 結束縱坐標 */ public static void cutImage(String srcPath, String newPath, int x, int y, int x1, int y1) throws Exception { int width = x1 - x; int height = y1 - y; IMOperation op = new IMOperation(); op.addImage(srcPath); /** * width: 裁剪的寬度 * height: 裁剪的高度 * x: 裁剪的橫坐標 * y: 裁剪的挫坐標 */ op.crop(width, height, x, y); op.addImage(newPath); ConvertCmd convert = new ConvertCmd(); // linux下不要設置此值,不然會報錯 convert.setSearchPath(imageMagickPath); convert.run(op); } <!-- lang: java --> /** * 給圖片加水印 * @param srcPath 源圖片路徑 */ public static void addImgText(String srcPath) throws Exception { IMOperation op = new IMOperation(); op.font("宋體").gravity("southeast").pointsize(18).fill("#BCBFC8") .draw("text 5,5 juziku.com"); op.addImage(); op.addImage(); ConvertCmd convert = new ConvertCmd(); // linux下不要設置此值,不然會報錯 convert.setSearchPath(imageMagickPath); convert.run(op, srcPath, srcPath); }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!