日期:2014-05-16  浏览次数:20684 次

GraphicsMagick在Linux环境的安装
GraphicsMagick在Linux环境的安装
前题:
安装之前,因为是图片处理,所以需要系统中安装了libpng和libjpeg的开发包,否则的话不会安装这两种文件的支持,GraphicsMagick就没法读取jpeg和png图片。如果之前已安装过imageMagick和jmagick,且可以正常生成图片的则直接进入GraphicsMagick的安装。
注意:下面所有的安装步骤都需要在root用户下完成。
1. 首先使用rpm命令查看libpng和libjpeg是否已安装
rpm –qa | grep libjpeg 如果已安装会出现如下图片所示:

rpm –qa | grep libpng 如果已安装会出现如下图片所示:

2. 如果需要安装libpng和libjpeg则使用如下安装步骤:
a. 安装libjpeg开发包
卸载:
rpm -e --nodeps libjpeg-6.2.0-879.10
rpm -e --nodeps libjpeg-32bit-6.2.0-879.10
安装:
rpm -ivh libjpeg8-8.0.2-3.1.x86_64.rpm
rpm -ivh libjpeg8-devel-8.0.2-3.1.x86_64.rpm

b. 安装libpng开发包
卸载:
rpm -e --nodeps libpng12-0-32bit-1.2.31-5.12.1
rpm -e --nodeps libpng12-0-32bit-1.2.31-5.12.1
安装:
rpm -ivh libpng-1.2.5-190.1.x86_64.rpm
rpm -ivh libpng-devel-1.2.5-190.1.x86_64.rpm

问题:rpm -ivh libpng-devel-1.2.5-190.1.x86_64.rpm
error: Failed dependencies:
zlib-devel is needed by libpng-devel-1.2.5-190.1.x86_64 
解决办法:
请先安装zlib开发包后再安装libpng-devel-1.2.5-190.1.x86_64.rpm

c. 安装zlib开发包
注:在卸载zlib时一定不要将zlib-1.2.3-106.34给卸载了,否则系统将无法运行。
卸载:
rpm -e --nodeps zlib-32bit-1.2.3-106.34
安装:
rpm -U zlib-1.2.3-134.1.x86_64.rpm
rpm -ivh zlib-devel-1.2.3-134.1.x86_64.rpm
GraphicsMagick的安装步骤:
1、 解压GraphicsMagick-1.3.12.tar.gz包
# tar -xvzf GraphicsMagick-1.3.12.tar.gz
# cd GraphicsMagick-1.3.12
2、 使用 configure 来进行自动的配置、build和安装
# ./configure  '--prefix=/usr/local/GraphicsMagick-1.3.12' '--exec-prefix=/usr/local/GraphicsMagick-1.3.12' '--bindir=/usr/local/GraphicsMagick-1.3.12/bin' '--sbindir=/usr/local/GraphicsMagick-1.3.12/sbin' '--sysconfdir=/usr/local/GraphicsMagick-1.3.12/etc' '--datadir=/usr/local/GraphicsMagick-1.3.12/share' '--includedir=/usr/local/GraphicsMagick-1.3.12/include' '--libdir=/usr/local/GraphicsMagick-1.3.12/lib' '--libexecdir=/usr/local/GraphicsMagick-1.3.12/libexec' '--localstatedir=/usr/local/GraphicsMagick-1.3.12/var' '--sharedstatedir=/usr/local/GraphicsMagick-1.3.12/share/com' '--mandir=/usr/local/GraphicsMagick-1.3.12/share/man' '--infodir=/usr/local/GraphicsMagick-1.3.12/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

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

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

3、 设置环境变量

# vi /etc/profile

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

export JAVA_HOME=/usr/java/java
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export JAVA_HOME PATH CLASSPATH

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

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