在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();
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);
cmd.run(op);


这样你就可以实现你想要的图片输出流啦

你可能感兴趣的:(在im4java中使用GraphicsMagick)