天天看點

在im4java中使用GraphicsMagick

1.定義操作和指令

GMOperation op = new GMOperation();

GraphicsMagickCmd cmd = new GraphicsMagickCmd("convert"); //convert說明你要做的是convert裡面的操作

或ConvertCmd cmd = new ConvertCmd(true); //true說明你要用的是gm工具

2.縮放的參數說明

op.resize(int width) //它寫的是width讓我誤以為是可以限制寬度的,其實不是,而是限制長寬不能超出width

op.resize(int width, int height) //其實就是相當于限制了一個框,圖檔等比例放在框裡

 如果你想實作圖檔放在框裡,但是是充滿框的,即會出現拉伸,則調用

op.resize(width, height, '!'); 

3.輸入和輸出的圖檔格式

《1》你本地已經有圖檔了,你隻需要告知原路徑及變換後新生成的圖檔的路徑就OK

op.addImage(srcPath);

op.addImage(newPath);

cmd.run(op);

op.addImage();

cmd.run(op,srcPath,srcPath);

這樣寫完圖檔處理子產品就寫完啦

《2》你的原圖檔隻是一個輸入流,你的輸出圖檔隻想要一個輸出流

op.addImage("-");               // read from stdin

op.addImage("jpg:-");        //  write to stdout in jpg-format 注意這裡的jpg可以根據你的圖檔格式而改變,但是必須要有,否則不知道你要以何格式生成轉換後的圖檔

 Pipe pipeIn  = new Pipe(is, null);

 Pipe pipeOut = new Pipe(null, os);

cmd.setInputProvider(pipeIn);

cmd.setOutputConsumer(pipeOut);

這樣你就可以實作你想要的圖檔輸出流啦