GraphicsMagick在Linux環境的安裝 和 im4java的配置
阿新 • • 發佈:2019-01-07
安裝之前,因為是圖片處理,所以需要系統中安裝了libpng和libjpeg的開發包,否則的話不會安裝這兩種檔案的支援,GraphicsMagick就沒法讀取jpeg和png圖片。如果之前已安裝過imageMagick和jmagick,且可以正常生成圖片的則直接進入GraphicsMagick的安裝。
注意:下面所有的安裝步驟都需要在root使用者下完成。
安裝:
# ./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
接下來就是安裝
# make
# make install
3、 設定環境變數
# vi /etc/profile
在/etc/profile檔案的最後新增如下配置:
至此就配置完畢了。
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使用者登入,然後執行如下命令:
注意:下面所有的安裝步驟都需要在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
如果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
至此就配置完畢了。
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 錯誤,重啟伺服器試試,我是這樣解決的