歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux安裝ImageMagick與JMagick完成過程及配置教程

一、安裝背景

最近在服務器上部署了HapiCMS的產品,因為其對圖片的壓縮是采用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

如果沒有安裝,請通過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。
如果你執行了make javadoc,在/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就好使了。

整個安裝過程到此為止,歡迎大家閱讀。

Copyright © Linux教程網 All Rights Reserved