graphicsmagick im4java,GraphicsMagick+im4java 图片处理

最近团队内部分享GraphicsMagick+im4java 图片处理 就把如何安装,运行都统一整理一下。

详细如下:

在windows上安装ImageMagick:

关于Q8,Q16,Q32的说明:(建议使用8,现在数码相机照的相片,每一种颜色就是8位深,3种颜色就是24位,所以选8)

支持的参数有3种,分别是 8, 16, or 32。默认值是16。

Q8表示: 8-bits per pixel quantum

Q16表示:16-bits per pixel quantum

Q32表示:32-bits per pixel quantum

使用16-bit per pixel quantums在处理图片时比8-bit慢15%至50%,并须要更多的内存。

处理一张1024x768像素的图片8-bit要使用3.6M内存,16-bit要使用7.2M内存。计算方法是: (5 * Quantum Depth * Rows * Columns) / 8

配置 环境变量加入PATH:E:\Program Files\GraphicsMagick-1.3.18-Q8(个人习惯放在E盘)

二. Linux下的安装与配置(下载时请注意 有32位系统包,有64位系统包,根据情况选择。这里是centos 64位的)

1、先查看所需的包是否安装

rpm -q libjpeg libjpeg-devel libpng libpng-devel freetype freetype-   devel libtiff

先把一些图片补丁包安装。

download地址:http://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.18/GraphicsMagick-1.3.18.tar.gz/download

解压tar zvxf GraphicsMagick-1.3.18.tar.gz

cd GraphicsMagick-1.3.18

./configure --prefix=/usr/local/GraphicsMagick --with-quantum-depth=8   --enable-share

下载 im4java

im4java的思路是通过线程或者进程执行graphicsmagick的命令,它的api只是为了能生成命令,而不是调用graphicsmagick的库。

我使用的最新的jar :im4java-1.4.0-1.5.jar

测试代码如下:

IM4JAVA是同时支持ImageMagick和GraphicsMagick的,这里是bool值,如果为true则使用GM,如果为false支持IM。

/**

*

* @param picPath 图片路径

* @param drawPicPath draw后的路径

* @param width draw后的宽度

* @param height draw后的高度

* @throws IOException

* @throws InterruptedException

* @throws IM4JavaException

*/

public static void drawImg(String picPath,String drawPicPath,int width, int height) throws IOException, InterruptedException, IM4JavaException{

IMOperation op = new IMOperation();

op.addImage();

op.resize(width, height);

op.font("Arial").fill("red").draw("text 100,100 www.taobao.com");

op.quality(85d);

op.addImage();

//IM4JAVA是同时支持ImageMagick和GraphicsMagick的,如果为true则使用GM,如果为false支持IM。

ConvertCmd cmd = new ConvertCmd(true);

String osName = System.getProperty("os.name").toLowerCase();

if(osName.indexOf("win")>=0) { //linux下不要设置此值,不然会报错

cmd.setSearchPath("E://Program Files//GraphicsMagick-1.3.18-Q8");

}

cmd.setErrorConsumer(StandardStream.STDERR);

cmd.run(op, picPath , drawPicPath);

}

/**

*

* @param args

*/

public static void main(String args[]){

try {

drawImg("D://tester.jpg", "D://testerTwo.jpg", 300,400);

} catch (Exception e) {

e.printStackTrace();

}

}

作者:tangpengtao 发表于2013-6-30 20:24:41 原文链接

阅读:57 评论:0 查看评论

GraphicsMagick号称图像处理领域的瑞士军刀。 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88种图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。 通过使用OpenMP可是利用多线程进行图片处理,增强了通过扩展CPU提高处理能力。 GraphicsMagick可以在绝大多数的平台上使用,Linux、Mac、Windows都没有问题。 GraphicsMagick 支持大图片处理,并且已经做过GB级别的图像处理实验。GraphicsMagick能够动态的生成图片,特别适用于互联网的应用。可以用来处理调整尺寸、旋转、加亮、颜色调整、增加特效等方面。GaphicsMagick不仅支持命令行的模式,同时也支持C、C++、Perl、PHP、Tcl、 Ruby等的调用。事实上,GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,下面就是两个之间的一些比较。 GM更有效率(测评),能更快的完成处理工作 GM更小更容易安装 GM已经被Flickr和Etsy使用,每天处理百万计的图片 GM与已经安装的软件不会发生冲突 GM几乎没有安全问题 GM的手册非常丰富 im4javaImageMagick的一个Java开源接口,使用起来非常方便。 很多网站都会用到对图片的一些处理,包括图片的裁剪、给图片加水印、按比例缩放图片等操作,用ImageMagick实现这些功能,性能非常好,图片还不会失真. 本文档详细的介绍了 GraphicsMagick+im4java的搭建过程,对一些搭建过程中出现的问题进行了详细的解答,避免采坑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值