用Java做網站經常要處理使用者上傳的圖檔,例如生成縮略圖等等。雖然Java可以使用Java2D進行一些圖檔操作,但是功能和效率實在太差了。 目前比較好的是用JMagick來進行圖像處理,不過JMagick是通過JNI調用ImageMagick的,對平台有一定依賴。本篇文章就是在 CentOS4上安裝JMagick。
版本問題
CentOS4内置的軟體版本一直都比較低,ImageMagick就隻有6.0.7。另外JMagick也很久沒有更新了,最新版是6.2.6-0,對 應使用ImageMagick 6.2.6。而ImageMagick官方網站上隻有6.3.8。情況有點混亂,最後決定使用最新版的ImageMagick和最新版的JMagick, 似乎工作正常。
從ImageMagick官方ftp上下載下傳最新版的ImageMagick和JMagick(是的,這裡也有下載下傳),分别解開。進入 ImageMagick目錄,運作
./configure –prefix=/usr/local/ImageMagick make make install
因為我不想跟系統的ImageMagick相沖,于是安裝到獨立的目錄裡面了
然後進入JMagick的目錄,運作
./configure –prefix=/usr/local/jmagick \ –with-magick-home=/usr/local/ImageMagick \ –with-java-home=/opt/jdk make all
因為我的jdk是自己安裝的,是以直接指定了。如果你遇到找不到java的錯誤,檢查一下你是否配置了JAVA_HOME環境變量等,實在不行,就 加上這個
export PATH=/opt/jdk/bin:$PATH
如果提示找不到ImageMagick相關資源,就加上這個
export PATH=/usr/local/ImageMagick/bin:$PATH export LD_LIBRARY_PATH=/usr/local/ImageMagick/lib
安裝成功之後,就是在tomcat裡面使用的問題了,我不習慣在整個系統裡面增加環境變量的做法,一般來說,我會在具體的引用啟動腳本裡面加上環境 變量的配置
打開tomcat/bin/catalina.sh,在頂部加入
LD_LIBRARY_PATH=/usr/local/ImageMagick/lib CATALINA_OPTS=”-Djava.library.path=/usr/local/jmagick/lib”
測試成功