在im4java中使用GraphicsMagick

简介: 1.定义操作和命令GMOperation op = new GMOperation();GraphicsMagickCmd cmd = new GraphicsMagickCmd("convert"); //convert说明你要做的是convert里面的操作或ConvertCmd cmd = new ConvertCmd(true); //true说明你要用的是gm工具 2.

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);


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

目录
相关文章
|
2月前
|
SQL JavaScript 前端开发
用Java、Python来开发Hive应用
用Java、Python来开发Hive应用
33 6
|
6月前
|
分布式计算 Java 测试技术
Spark 单元测试报Error:(26, 16) java: 程序包sun.misc不存在
Spark 单元测试报Error:(26, 16) java: 程序包sun.misc不存在
106 0
Error:(6, 24) java: 程序包com.sun.glass.ui不存在
Error:(6, 24) java: 程序包com.sun.glass.ui不存在
java202303java学习笔记第三十八天常用工具包commons-io1
java202303java学习笔记第三十八天常用工具包commons-io1
45 0
|
SQL 存储 Java
Kudu 整合 impala-java 操作 | 学习笔记
快速学习 Kudu 整合 impala-java 操作
439 0
Kudu 整合 impala-java 操作 | 学习笔记
|
Java
编译OpenJDK:make[1]: *** 没有规则可制作目标“openjdk8/jdk/src/share/classes/java/applet/AppletContext.java”,
编译OpenJDK:make[1]: *** 没有规则可制作目标“openjdk8/jdk/src/share/classes/java/applet/AppletContext.java”,
94 0
|
Java
【Java】java离线安装包
【Java】java离线安装包
693 0
【Java】java离线安装包
|
监控 IDE Java
JDK14中的java tools简介
JDK14中的java tools简介
Java NIO(十六) Files
Java NIO Files类(java.nio.file.Files)提供了几种方法来处理文件系统中的文件。 这个Java NIO文件教程将涵盖这些方法中最常用的。
1247 0
|
前端开发 Java 开发工具