1. 程式人生 > >GraphicsMagick在Linux環境的安裝 和 im4java的配置

GraphicsMagick在Linux環境的安裝 和 im4java的配置

安裝之前,因為是圖片處理,所以需要系統中安裝了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 錯誤,重啟伺服器試試,我是這樣解決的