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的专栏

时间: 2024-10-23 21:49:35

Im4java+ImageMagick/GraphicsMagick的相关文章

图片处理GraphicsMagick &amp; ImageMagick

用Java的ImageIO处理一个大于15M的JPG文件,内存溢出. 于是寻求新的解决方案,用ImageMagicK,发现处理图片速度不令人满意,于是切换至GraphicsMagicK,如下是总结. “GraphicsMagick is a fork of ImageMagick. GraphicsMagick has a number of advantages compared to ImageMagick, the most prominent is it's superior perfo

Yosemite 快速搭建 PHP5.6 开发环境

1.安装homebrew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)" 2.安装homebrew-cask brew tap phinze/homebrew-cask && brew install brew-cask 3.安装oh-my-zsh & iterm2 & lanch rocket brew install zsh && brew

app后端设计(13)--IM4JAVA+GraphicsMagick实现中文水印

在app的后台中,有时候为了标示版权,需要给图片加上水印. 在liunx中,IM4JAVA+GraphicsMagick是个高效处理图片的方案,图片的裁剪是使用了这个技术方案,为了减少不必要的开发成本和运维成本,对应水印,我们是打算继续采用这个方案. 但在开发的过程中,发现这个方案对中文水印支持得不好. 根据网上的搜索结果,就算采用了im4java的GMOperation,并将水印的字符串转成GBK的编码,添加中文水印时,对于奇数个数的中文,没问题:但对于偶数个数的中文,就出现乱码了. 试了多次

ImageMagick还是GraphicsMagick?

引自:http://co63oc.blog.51cto.com/904636/328997 ImageMagick(IM) 套装包含的命令行图形工具是一主要自由软件:Linux,其他类Unix操作系统,专有的操作系统像Windows支持IM差不多两个十年.但还是存在一个选择,称为GraphicsMagick(GM),覆盖了大多数一样的功能.那你怎么知道哪一个是适合你的? 虽然IM把它的历史回到1987年,当它是一个内部的工具的时候,在 DuPont被开发,第一次公共的源代码发布是1990年.核心

im4java+GraphicsMagick

package com.jeeplus.modules.isp.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.commons.lang3.SystemUtils; import

GraphicsMagick+Im4Java在windows和linux下的配置

Im4Java包为: im4java-1.2.0.jar 直接在lib下引用即可 GraphicsMagick的安装如下: windows下: 安装:GraphicsMagick-1.3.12-Q16.zip 并配置GraphicsMagick的安装路径 linux下: 安装:GraphicsMagick-1.3.18.tar.gz 1. 解压GraphicsMagick-1.3.12.tar.gz包# tar -xvzf GraphicsMagick-1.3.12.tar.gz# cd Gra

ImageMagick +Im4java 处理上传的图片,截图,缩略图,保证高质量

ImageMagick 在windows下是不存在的,linux一般都有(最后也请确认下,可以参考官网,不过也可以简单的运行convert 命令判断). 软件官网:im4java.sourceforge.net ps 请翻墙. ImageMagick官网: http://www.imagemagick.org/ 简单操作操作: /** *@author 孙月江 */ import java.io.File; import org.im4java.core.ConvertCmd; import o

GraphicsMagick +im4java高并发处理大型网站图片工具-图片剪切、遮蔽、水印添加之环境搭建

环境: centos 6.5 GraphicsMagick 下载安装 准备环镜: 需要依赖zlib图片操作函数库 下载地址:http://www.zlib.net/ 编译安装 tar -zxvf zlib-1.2.5.tar.gz cd zlib-1.2.5 ./configure make & make install yum安装libjpeg libpng依赖 yum install libjpeg libjpeg-devel libpng libpng-devel 下载GraphicsMa

在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让我误以为是可以限制宽度的,其实