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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!