Linux安装ImageMagick与JMagick过程
本文转自:http://www.iitshare.com/linux-install-imagemagick-jmagick.html
一、安装背景
最近在服务器上部署了HSCMS的产品,因为其对图片的压缩是采用ImageMagick实现的,所以需要在服务器上面安装ImageMagick与jmagick,将操作的过程写了下来,和大家分享下,其中包含rpm方式安装、linux32位安装ImageMagick与jmagick、linux64位安装ImageMagick与jmagick,如果大家有什么问题可以进行留言,有时间的话会及时进行回复。
二、ImageMagick介绍
ImageMagick是用C语言开发图片处理程序。可以对图片进行改变大小、旋转、锐化、减色或增加特效等操作。对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。
ImageMagick的官网是:http://www.imagemagick.org/script/index.php
由于我们是java项目,直接使用java通过JNI技术调用ImageMagick是不行的。因为ImageMagick开发时没有使用javaJNI生成的头文件。可以使用jmagick解决,jmagick是由c语言开发的,开发时使用了javaJNI生成的头文件,所以java可以通过JNI技术调用jmagick。jmagick再调用ImageMagick。这们我们处理图片使用的是jmagick暴露的java接口。也可以使用JNA来调用ImageMagick,JNA全称是JavaNativeAccess,JNA是在JNI的基础上完善的,方便的我们开发的。JNA项目主页是https://github.com/twall/jna。使用JNA来调用ImageMagick就须要直接操作ImageMagick提供的C接口(API)。
三、确保系统已经安装以下包
# yum install libjpeg # yum install libjpeg-devel # yum install libpng # yum install libpng-devel # yum install libtiff # yum install libtiff-devel # yum install libungif # yum install libungif-devel # yum install freetype # yum install zlib
可以通过下面的命令进行查看
#rpm -qa |grep libjpeg
如果没有安装,请通过yum命令安装以上依赖包
四、安装ImageMagick不区分32位、64位操作系统
安装方式有两种,第一种方式是直接安装rpm方式安装,此方式也是本文推荐的方式
第二种方式是通过编译的方式安装,没有什么特殊要求建议还是用rpm方式安装
1、yum方式安装,具体如下:
# 如果以前安装过,卸载掉ImageMagick: #yum remove ImageMagick #yum install ImageMagick
2、编译的方式进行安装
从http://downloads.jmagick.org/6.4.0/这个网址下载需要安装的版本,可以下载的文件包括以下
ImageMagick-6.4.0-0.tar.gz 24-Mar-2008 00:15 11M jmagick-6.4.0-3.i386.rpm 05-Jun-2009 09:27 172K jmagick-6.4.0-3.src.rpm 05-Jun-2009 09:27 524K jmagick-6.4.0-3.x86_64.rpm 05-Jun-2009 09:27 65K jmagick-6.4.0-src.tar.gz 11-Feb-2009 10:27 521K jmagick-debuginfo-6.4.0-3.x86_64.rpm 05-Jun-2009 09:27 135K jmagick-linux-6.4.0-Q8.tar.gz 08-Dec-2008 19:27 56K jmagick-linux-6.4.0-Q16.tar.gz 08-Dec-2008 19:27 56K jmagick-linux-6.4.0-Q32.tar.gz 08-Dec-2008 19:27 56K
根据自己的需求安装相应版本的ImageMagick,具体的代码如下
#tar zxvf ImageMagick-6.4.0-0.tar.gz #cd ImageMagick-6.4.0 #./configure --enable-shared --without-perl(如果不行就用./configure) #make #make install #make check
3、安装完成后会生成一个convert
#find / -name convert #convert --version
可以根据查看的结果判断安装是否成功。
然后可以在命令行下试试是否能用convert命令
#convert -geometry 100x200 源文件.jpg 处理后文件.gif (格式转换)
五、安装JMagick
安装的前提是下载了上面步骤三、安装ImageMagick中2里面说的安装包
1、安装依赖的库等
注意:无论是否有自己的JRE/JDK感觉这个还是必须要有,否则安装RPM会提示找不到相关的JAVA库
注意:安装jmagick-src的时候,如果没有这个jman帐号,会安装出错
Shell代码如下:
# yum install java; # /usr/sbin/useradd –u 1000 –s /sbin/nologin jman;
2、32位操作系统rpm方式安装jmagick,shell代码如下:
# rpm –ivh jmagick-6.4.0-3.i386.rpm # rpm –ivh jmagick-6.4.0-3.src.rpm
3、64位操作系统rpm方式安装jmagick,shell代码如下:
# rpm –ivh jmagick-6.4.0-3.x86_64.rpm # rpm –ivh jmagick-6.4.0-3.src.rpm # rpm –ivh jmagick-debuginfo-6.4.0-3.x86_64.rpm
32位操作系统无jmagick-debuginfo-6.4.0-3.x86_64.rpm文件
4、如果安装src出现以下错误
[root@localhost ~]# rpm -ivh jmagick-6.4.0-3.src.rpm error: cannot create %sourcedir /usr/src/redhat/SOURCES
则执行以下语句即可
[root@localhost ~]# mkdir /usr/src/redhat [root@localhost ~]# mkdir /usr/src/redhat/SOURCES
5、编译的方式安装jmagick,不区分32位还是64位,具体的Shell代码如下:
tar zvxf jmagick-6.4.0-src.tar.gz cd jmagick-6.4.0-src ./configure --prefix=/opt360/jmagick-6.4.0 --with-java-home=/usr/local/java/jdk1.6.0_30 --with-magick-home=/opt360/ImageMagick-6.4.0 make all make install
安装成功后,在/opt360/jmagick-6.4.0/lib/有一个jmagick-6.4.0.jar文件,在你的java项目中就使用这个jar文件处理图片,需要将jmagick-6.4.0.jar文件挪到TOMCAT的BIN目录,具体命令如下:
# mv *.jar /usr/local/apache-tomcat-6.0.35/bin
记住jmagick-6.4.0.jar是使用前面你指定的jdk1.6编译出来的,所以不能在jdk为1.5的环境下使用jmagick-6.4.0.jar。
如果你执行了makejavadoc,在/opt360/jmagick-6.4.0/share/doc目录下就有文档。
安装中出现的问题解决
1、如果安装过程中出现以下错误:
error: Failed dependencies: jre is needed by jmagick-6.4.0-3.i386
说明没有安装上面步骤1中说明,安装JRE/JDK,请安装后再试
2、如果要测试的程序或者项目在Tomcat下,请重启Tomcat后再进行测试,我之前没有重启Tomcat,测试了几次还是报错,最后重启完Tomcat就好使了。
整个安装过程到此为止,欢迎大家阅读。
文章作者:iitshare
本文地址:http://www.iitshare.com/linux-install-imagemagick-jmagick.html
版权所有©转载时必须以链接形式注明作者和原始出处!