前面在一個項目開發中用到了ImageMagick,我們自己的測試環境都正常,然後就按照我們開發環境的安裝方法安裝了客戶的測試環境,但在處理jpeg類型圖片的時候報錯了。回頭一看配置log,居然不支援jpeg。
ImageMagick 是變換圖片的庫群,支援perl,C++,JAVA等等語言。可以對圖片進行各種各樣的加工處理。
ImageMagick的安裝方法有RPM方式和SOURCE方式。目前最新版是ImageMagick-6.5.5。可以從這個網址下載: http://www.imagemagick.org
安裝步驟:
1.ssh串連Linux伺服器
2.把下載的安裝檔案放到適當的檔案夾下。例如:cd /usr/local/src。或者直接在伺服器上下載。
3.解壓下載檔案
tar -zxvf ImageMagick-6.5.5-7.tar.gz
5.移動到解壓後的檔案夾裡面
cd ImageMagick-6.3.5-7
6.configure配置
./configure
可以先執行 ./configure --help 看看有哪些配置參數。然後自己根據需要設定。
我們一般的圖片處理都要求支援幾種常見的圖片形式:jpeg,png,gif。
查看配置後結果:yes的話支援,no就是不支援
JPEG v1 --with-jpeg=yes yes
PNG --with-png=yes yes
ZLIB --with-zlib=yes yes
如果是no的情況,用過以下命令查看是否安裝了相應的庫。
rpm -qa|grep jpeg //zlib的用zlib, png的時候用libpng
執行結果:libjpeg-6b-33
一看執行結果確實是安裝了jpeg庫,但為什麼不識別呢?最後網上查了一下半天,發現必須要安裝libjpeg-devel庫。有的系統可能預設已經安裝了,所以可能沒在意。知道原因就好辦了,網上下載libjpeg-devel庫RPM安裝檔案,安裝。
安裝完後,再次配置ImageMagick,這下配置結果裡面變成yes了。
7.編譯
make
8.安裝
install
這樣ImageMagick就安裝完了。
如果是用java開發的話,需要安裝JMagick。從這裡下載:ftp://ftp.imagemagick.org/pub/ImageMagick/java/
安裝JMagick的時候需要主要的JAVA_HOME環境變數是不是和開發用的JDK版本一致,因為有的伺服器有多個JDK版本,JMagick預設是用環境變數版本來編譯的,如果版本不一致的話可能報版本不一致錯誤。
具體的圖片支援需要什麼庫等資訊可以從官方網站查看:http://www.imagemagick.org/script/formats.php