im 4 java処理画像


  • windowsにイマジmagick
  • をインストールします。
  • m 4 javaダウンロードアドレス:http://sourceforge.net/projects/im4java/files/im4java-1.4.0/im4java-1.4.0-bin.tar.bz2/download
  • 上の2歩を操作したら、下の方が操作しやすいです。im 4 javaはimagmagickのcommmadlineに基づいて呼び出されるjavaインターフェースですので、jmagickのようにjava jniでローカルimagmagickのアプリを呼び出すのは複雑です。imagmagickをインストールするのはどのプラットフォームでも同じです。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);  
    }  
    
    参考文献:im 4 java画像処理コード参照