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开发时没有使用java JNI生成的头文件。可以使用jmagick解决,jmagick是由c语言开发的,开发时使用了java JNI生成的头文件,所以java可以通过JNI技术调用jmagick。jmagick再调用ImageMagick。这们我们处理图片使用的是jmagick暴露的java接口。也可以使用JNA来调用ImageMagick,JNA全称是Java Native Access,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
# 如果以前安装过,卸载掉ImageMagick:#yum remove ImageMagick#yum install ImageMagick
ImageMagick-6.4.0-0.tar.gz 24-Mar-2008 00:15 11Mjmagick-6.4.0-3.i386.rpm 05-Jun-2009 09:27 172Kjmagick-6.4.0-3.src.rpm 05-Jun-2009 09:27 524Kjmagick-6.4.0-3.x86_64.rpm 05-Jun-2009 09:27 65Kjmagick-6.4.0-src.tar.gz 11-Feb-2009 10:27 521Kjmagick-debuginfo-6.4.0-3.x86_64.rpm 05-Jun-2009 09:27 135Kjmagick-linux-6.4.0-Q8.tar.gz 08-Dec-2008 19:27 56Kjmagick-linux-6.4.0-Q16.tar.gz 08-Dec-2008 19:27 56Kjmagick-linux-6.4.0-Q32.tar.gz 08-Dec-2008 19:27 56K
#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
#find / -name convert#convert --version
#convert -geometry 100x200 源文件.jpg 处理后文件.gif (格式转换)
# yum install java;# /usr/sbin/useradd –u 1000 –s /sbin/nologin jman;
# rpm –ivh jmagick-6.4.0-3.i386.rpm# rpm –ivh jmagick-6.4.0-3.src.rpm
# 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
[root@localhost ~]# rpm -ivh jmagick-6.4.0-3.src.rpmerror: cannot create %sourcedir /usr/src/redhat/SOURCES
[root@localhost ~]# mkdir /usr/src/redhat[root@localhost ~]# mkdir /usr/src/redhat/SOURCES
tar zvxf jmagick-6.4.0-src.tar.gzcd 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.0make allmake install
# mv *.jar /usr/local/apache-tomcat-6.0.35/bin
error: Failed dependencies: jre is needed by jmagick-6.4.0-3.i386