im4java 處理圖片

jopen 11年前發布 | 38K 次閱讀 im4java 圖形/圖像處理

  1. windows下安裝imagemagick
  2. im4java下載地址:http://sourceforge.net/projects/im4java/files/im4java-1.4.0/im4java-1.4.0-bin.tar.bz2/download
  3. </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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!