GraphicsMagick +Im4java工具类
2017-03-14 19:22
399 查看
1、安装GraphicsMagick
2、项目引入Im4java的jar
<dependency>
<groupId>org.im4java</groupId>
<artifactId>im4java</artifactId>
<version>1.4.0</version>
</dependency>
代码样例:
/**
* 旋转
* @throws IOException
* @throws InterruptedException
* @throws IM4JavaException
*/
public static void rotate() throws IOException, InterruptedException, IM4JavaException{
IMOperation op = new IMOperation();
op.addImage("d:\\a.jpg");
op.rotate(45d);
op.addImage("d:\\efg.jpg");
ConvertCmd cmd = new ConvertCmd(true);
cmd.setSearchPath("D:\\GraphicsMagick-1.3.18-Q8");
cmd.run(op);
}
/**
* 裁剪图片
* @throws IOException
* @throws InterruptedException
* @throws IM4JavaException
*/
public static void cutPic() throws IOException, InterruptedException, IM4JavaException{
IMOperation op = new IMOperation();
op.addImage("d:\\a.jpg");
op.crop(200, 200, 20, 20);
op.addImage("d:\\efg.jpg");
ConvertCmd cmd = new ConvertCmd(true);
cmd.setSearchPath("D:\\GraphicsMagick-1.3.18-Q8");
cmd.run(op);
}
/**
* 获取图片信息
* @throws IOException
* @throws InterruptedException
* @throws IM4JavaException
*/
public static void getInfo() throws IOException, InterruptedException, IM4JavaException{
IMOperation op = new IMOperation();
op.format("%w,%h,%d,%f,%b");
op.addImage("d://test.jpg");
IdentifyCmd cmd = new IdentifyCmd(true);
cmd.setSearchPath("D:\\GraphicsMagick-1.3.18-Q8");
ArrayListOutputConsumer output = new ArrayListOutputConsumer();
cmd.setOutputConsumer(output);
cmd.run(op);
ArrayList<String> cmdOutput = output.getOutput();
if (cmdOutput.size() != 1) return;
String line = cmdOutput.get(0);
System.out.println(line);
}
/**
* 等比例缩放
* @throws IOException
* @throws InterruptedException
* @throws IM4JavaException
*/
public static void equalScaling() throws IOException, InterruptedException, IM4JavaException{
GMOperation op = new GMOperation();
op.resize(5000);
op.addImage("d://a.jpg");
op.addImage("d://efgg.jpg");
ConvertCmd cmd = new ConvertCmd(true);
cmd.setSearchPath("D:\\GraphicsMagick-1.3.18-Q8");
cmd.run(op);
}
2、项目引入Im4java的jar
<dependency>
<groupId>org.im4java</groupId>
<artifactId>im4java</artifactId>
<version>1.4.0</version>
</dependency>
代码样例:
/**
* 旋转
* @throws IOException
* @throws InterruptedException
* @throws IM4JavaException
*/
public static void rotate() throws IOException, InterruptedException, IM4JavaException{
IMOperation op = new IMOperation();
op.addImage("d:\\a.jpg");
op.rotate(45d);
op.addImage("d:\\efg.jpg");
ConvertCmd cmd = new ConvertCmd(true);
cmd.setSearchPath("D:\\GraphicsMagick-1.3.18-Q8");
cmd.run(op);
}
/**
* 裁剪图片
* @throws IOException
* @throws InterruptedException
* @throws IM4JavaException
*/
public static void cutPic() throws IOException, InterruptedException, IM4JavaException{
IMOperation op = new IMOperation();
op.addImage("d:\\a.jpg");
op.crop(200, 200, 20, 20);
op.addImage("d:\\efg.jpg");
ConvertCmd cmd = new ConvertCmd(true);
cmd.setSearchPath("D:\\GraphicsMagick-1.3.18-Q8");
cmd.run(op);
}
/**
* 获取图片信息
* @throws IOException
* @throws InterruptedException
* @throws IM4JavaException
*/
public static void getInfo() throws IOException, InterruptedException, IM4JavaException{
IMOperation op = new IMOperation();
op.format("%w,%h,%d,%f,%b");
op.addImage("d://test.jpg");
IdentifyCmd cmd = new IdentifyCmd(true);
cmd.setSearchPath("D:\\GraphicsMagick-1.3.18-Q8");
ArrayListOutputConsumer output = new ArrayListOutputConsumer();
cmd.setOutputConsumer(output);
cmd.run(op);
ArrayList<String> cmdOutput = output.getOutput();
if (cmdOutput.size() != 1) return;
String line = cmdOutput.get(0);
System.out.println(line);
}
/**
* 等比例缩放
* @throws IOException
* @throws InterruptedException
* @throws IM4JavaException
*/
public static void equalScaling() throws IOException, InterruptedException, IM4JavaException{
GMOperation op = new GMOperation();
op.resize(5000);
op.addImage("d://a.jpg");
op.addImage("d://efgg.jpg");
ConvertCmd cmd = new ConvertCmd(true);
cmd.setSearchPath("D:\\GraphicsMagick-1.3.18-Q8");
cmd.run(op);
}
相关文章推荐
- 获得汉字拼音首字母的java工具类
- java非对称加密RSA的工具类及其源代码
- JAVA工具类集锦1--分页类
- java日期工具类
- Java多线程运行时,尽可能调用单例对象、工具类和静态方法,这样可以减少内存的占用量
- JAVA实用工具类
- JAVA工具类集锦2--时间格式转化类
- JAVA工具类集锦6--中文乱码处理类
- Java 文件操作工具类
- Java Class 映射及实用工具类完整源代码
- Java工具类-List 排序
- Java Class 映射及实用工具类完整源代码
- Java:IO操作工具类
- java 日期 格式 前多少天, 后多少天的获取方法,日期工具类 星期
- 获得汉字拼音首字母的java工具类GetCh2Spell .java
- Java 字符编码工具类
- java.util.Timer工具类
- JAVA工具类集锦3--编码过滤器
- 一个JAVA图形缩放处理工具类
- java 源码之 Arrays 工具类