Im4java+ImageMagick/GraphicsMagick
im4java的jar包可以在maven库中找到。
<dependency>
<groupId>org.im4java</groupId>
<artifactId>im4java</artifactId>
<version>1.4.0</version>
</dependency>
将ImageMagick或者GraphicsMagick安装好后,再配好环境变量。
样例代码:
import org.im4java.core.ConvertCmd;
import org.im4java.core.IMOperation; public class Test { public static void main(String[] args) {
try {
zoomImage(1000,800,"F:/u02/origin/20141215/loginbigbg.jpg","F:/u02/origin/20141215/loginbigbg_new.jpg");
} catch (Exception e) {
e.printStackTrace();
}
} public static void zoomImage(Integer width, Integer height, String srcPath, String newPath) throws Exception {
IMOperation op = new IMOperation();
op.addImage(srcPath);
if(width == null){//根据高度缩放图片
op.resize(null, height);
}else if(height == null){//根据宽度缩放图片
op.resize(width, null);
}else {
op.resize(width, height);
}
op.addImage(newPath);
//这里不加参数或者参数为false是使用ImageMagick,true是使用GraphicsMagick
ConvertCmd convert = new ConvertCmd();
// convert.setSearchPath("g:/tool/graphicsmagick-1.3.20-q16");
convert.setSearchPath("G:/tool/ImageMagick-6.9.0-Q16");
convert.run(op);
}
}
其中setSearchPath在Windows环境下是需要设置的。
ConvertCmd convert = new ConvertCmd();
这一句,如果只安装了ImageMagick,但是定义时写成了new ConvertCmd(true)是,会报找不到“gm”的错。
org.im4java.core.CommandException: java.io.FileNotFoundException: gm
at org.im4java.core.ImageCommand.run(ImageCommand.java:219)
at com.trs.rk.test.Test.zoomImage(Test.java:31)
at com.trs.rk.test.Test.main(Test.java:10)
同理,如果只装了GraphicsMagick,但是new ConvertCmd(false)或者无参数,会报找不到convert的错。
org.im4java.core.CommandException: java.io.FileNotFoundException: convert
at org.im4java.core.ImageCommand.run(ImageCommand.java:219)
at com.trs.rk.test.Test.zoomImage(Test.java:31)
at com.trs.rk.test.Test.main(Test.java:10)
转自:mzglzzc的专栏
Im4java+ImageMagick/GraphicsMagick的更多相关文章
- 图片处理GraphicsMagick & ImageMagick
用Java的ImageIO处理一个大于15M的JPG文件,内存溢出. 于是寻求新的解决方案,用ImageMagicK,发现处理图片速度不令人满意,于是切换至GraphicsMagicK,如下是总结. ...
- Java 图片处理解决方案:ImageMagick 快速入门
一.ImageMagick介绍 ImageMagick是一个免费的创建.编辑.合成图片的软件,可以实现图片切割.颜色替换.图片缩略图.图片水印等各种效果.ImageMagick是免费开源软件,支持大多 ...
- 图片处理服务 ImageMagick 的安装和使用
简介 该文章使用目前官方最新版本7.0.8,这里只记录下Windows系统下的安装. 官方网站:http://www.imagemagick.org/script/index.php. ImageMa ...
- Java 图片处理解决方案:ImageMagick 快速入门教程
文章首发于[博客园-陈树义],点击跳转到原文Java 图片处理解决方案:ImageMagick 快速入门教程. ImageMagick介绍 ImageMagick是一个免费的创建.编辑.合成图片的软件 ...
- [Ting's笔记Day9]活用套件Carrierwave gem:(4)使用Imagemagick修改图片大小
前情提要: 这几天我都在实验Carrierwave这套图片上传套件,也顺利部署到Heroku架站正式环境了.:) 接下来我遇到了新的问题:要如何在上传的时候,让Carrierwave gem大型siz ...
- Yosemite 快速搭建 自带Apache+PHP5.6+MySQL 开发环境
1.安装homebrew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)" 2.安装h ...
- mac电脑php+mysql+nginx+phpmyadmin环境搭建
英文原文:http://blog.frd.mn/install-nginx-php-fpm-mysql-and-phpmyadmin-on-os-x-mavericks-using-homebrew/ ...
- GraphicsMagick+im4java 图片处理
最近团队内部分享GraphicsMagick+im4java 图片处理 就把如何安装,运行都统一整理一下. 详细如下: 在windows上安装ImageMagick: download 地址:http ...
- app后端设计(13)--IM4JAVA+GraphicsMagick实现中文水印
在app的后台中,有时候为了标示版权,需要给图片加上水印. 在liunx中,IM4JAVA+GraphicsMagick是个高效处理图片的方案,图片的裁剪是使用了这个技术方案,为了减少不必要的开发成本 ...
随机推荐
- C#中获取时间差
/// <summary> /// 已重载.计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值. /// </summary> /// <param name=&q ...
- 【web Api性能提升技巧】(2)从DataReader手工创建Json字符串
这个思路是从 一篇文章,关于<提升web api的性能>上看到的.自己实践了一番,写下步骤. 传统的DataReader是遵循这样的一个步骤: While(reader.Read()) { ...
- 什么是HotSpot VM
学习并转载自https://www.cnblogs.com/charlesblc/p/5993804.html 提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJD ...
- NC二次开发常用的方法
//这张表存放的是所有单据模板的信息表 如果不知道单据模板的信息后可在数据库中查询PUB_BILLTEMPLET//这张表是打印模板的表改模板可以再此表修改pub_print_template//获取 ...
- 分布式远程服务调用(RPC)框架
分布式远程服务调用(RPC)框架 finagle:一个支持容错,协议无关的RPC系统 热门度(没变化) 10.0 活跃度(没变化) 10.0 Watchers:581 Star:6174 Fork: ...
- ROS学习
随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求.2010年Willow Garage公司发布了开源机器人操作系统ROS(robot ...
- HDFS只支持文件append操作, 而依赖HDFS的HBase如何完成数据的增删改查
转:http://www.th7.cn/db/nosql/201510/135382.shtml 1. HDFS的文件append功能 早期版本的HDFS不支持任何的文件更新操作,一旦一个文件创建.写 ...
- php与js 编码解码交互
javascript: var fontcolorEncode=encodeURIComponent(fontcolor.value); //编码 php: $fontcolordecode= u ...
- 20145216史婧瑶《Java程序设计》第8周学习总结
20145216 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 通用API 15.1 日志 java.util.logging 包提供了日志功能相关类与接口,不必额外配置 ...
- linux目录结构及文件权限
安装banner用到的指令: 第一步: sudo apt-get update 第二步: sudo apt-get install sysvbanner 成功了 创建新用户指令: sudo addus ...