GraphicsMagick在Linux环境的安装 和 im4java的配置

本文档详细介绍了如何在Linux系统中安装GraphicsMagick以及配置im4java。首先,通过yum安装libjpeg-devel和libpng-devel等依赖。如果遇到配置错误,需要安装libtool-ltdl及其开发包。接着,设置JAVA_HOME、JRE_HOME和CLASSPATH等环境变量,并将GraphicsMagick的路径添加到PATH和LD_LIBRARY_PATH中。最后,指定IM4JAVA_TOOLPATH,并解决im4java调用时可能出现的gm文件找不到问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装之前,因为是图片处理,所以需要系统中安装了libpng和libjpeg的开发包,否则的话不会安装这两种文件的支持,GraphicsMagick就没法读取jpeg和png图片。如果之前已安装过imageMagick和jmagick,且可以正常生成图片的则直接进入GraphicsMagick的安装。 
注意:下面所有的安装步骤都需要在root用户下完成。 
安装: 

yum install libjpeg-devel

yum install libpng-devel


2、 使用 configure 来进行自动的配置、build和安装 
# ./configure  '--prefix=/usr/local/GraphicsMagick-1.3.24' '--exec-prefix=/usr/local/GraphicsMagick-1.3.24' '--bindir=/usr/local/GraphicsMagick-1.3.24/bin' '--sbindir=/usr/local/GraphicsMagick-1.3.24/sbin' '--sysconfdir=/usr/local/GraphicsMagick-1.3.24/etc' '--datadir=/usr/local/GraphicsMagick-1.3.24/share' '--includedir=/usr/local/GraphicsMagick-1.3.24/include' '--libdir=/usr/local/GraphicsMagick-1.3.24/lib' '--libexecdir=/usr/local/GraphicsMagick-1.3.24/libexec' '--localstatedir=/usr/local/GraphicsMagick-1.3.24/var' '--sharedstatedir=/usr/local/GraphicsMagick-1.3.24/share/com' '--mandir=/usr/local/GraphicsMagick-1.3.24/share/man' '--infodir=/usr/local/GraphicsMagick-1.3.24/share/info' '--enable-libtool-verbose' '--with-included-ltdl' '--enable-shared' '--disable-static' '--with-modules' '--with-frozenpaths' '--without-perl' '--without-magick-plus-plus' '--with-quantum-depth=8' --enable-symbol-prefix 


如果configure提示“configure: error: libltdl is required for modules build”

则yum install libtool-ltdl libtool-ltdl-devel


在执行完上述命令后会有一段输出,可以查看GraphicsMagick支持的图片格式,在Configured value下为yes的表示为支持,PNG、JPEG v1和ZLIB必须为yes,若不为yes将按照前提中所写的进行操作,然后再重复执行上述命令,一直到全部支持为止,否则将无法正常进行截图操作,如下图所示: 

接下来就是安装 
# make 
# make install 

3、 设置环境变量 

# vi /etc/profile 

在/etc/profile文件的最后添加如下配置: 

export JAVA_HOME=/usr/local/java/jdk1.7.0_60
export JRE_HOME=/usr/local/java/jdk1.7.0_60/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH


export GMAGICK_HOME="/usr/local/GraphicsMagick-1.3.24"
export PATH="$GMAGICK_HOME/bin:$PATH"
LD_LIBRARY_PATH=$GMAGICK_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

IM4JAVA_TOOLPATH=/usr/local/GraphicsMagick-1.3.24/bin/gm

注意:修改完后执行 ldconfig 让设置立即生效,并logout,然后重新登录。 

至此就配置完毕了。 

4、 使用命令查看GraphicsMagick所支持的图片格式: 
# gm convert -list formats 
如果列表中如果显示PNG、JPEG、GIF等则表示已支持图片转换。 

5、 测试安装是否正常,使用如下命令: 
gm convert -resize 100x80^ -gravity Center -crop 100x80+0+0 sample.jpg thumb.jpg 
命令说明:gravity 表示中心坐标,可选值为 Center , NorthWest(左上), NorthEast(右上), SouthWest(左下), SouthEast(右下) ,由Center参数即由中心开始向两边裁剪,+指定x轴向y轴向的偏移量。sample.jpg/png为要裁剪的图片且必须存在,thumb.jpg/png为裁剪后生成的新图片,可以拷贝生成的文件到本地后查看,能正常显示,则说明所有安装均正常。 

6、 给XX用户赋graphicsMagick安装目录的访问权限 
上述安装步骤都是在root用户下进行的,所以在安装完成之后需要给XX用户赋访问权限,否则在XX用户下截取图片,将会报错org.im4java.core.CommandException: java.io.IOException: Cannot run program "gm": java.io.IOException: error=13, Permission denied。 
使用root用户登录,然后执行如下命令: 

# chown -R XX:users /usr/local/GraphicsMagick-1.3.24


7.常见问题

使用im4java调用若遇到 java.io.FileNotFoundException: gm 错误,重启服务器试试,我是这样解决的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值