天天看點

Linux ImageMagick 轉換圖檔格式工具

    前面在一個項目開發中用到了ImageMagick,rails中使用RMagick生成驗證碼, 我們自己的測試環境都正常,然後就按照我們開發環境的安裝方法安裝了客戶的測試環境,但在處理jpeg類型圖檔的時候報錯了。回頭一看配置log,居然不支援jpeg。

   錯誤提示 :  ArgumentError (unknown format: JPG)

   安裝 ImageMagick 檢視安裝資訊

  Ghostscript lib --with-gslib=no no

Graphviz --with-gvc=yes no

JBIG --with-jbig=yes no

JPEG v1 --with-jpeg=yes no

JPEG-2000 --with-jp2=yes no

LCMS v1 --with-lcms=yes no

LCMS v2 --with-lcms2=yes no

LQR --with-lqr=yes no

LZMA --with-lzma=yes no

Magick++ --with-magick-plus-plus=yes yes

OpenEXR --with-openexr=yes no

PERL --with-perl=no no

PNG --with-png=yes yes

RSVG --with-rsvg=yes no

TIFF --with-tiff=yes no

Windows fonts --with-windows-font-dir= none

WMF --with-wmf=yes no

X11 --with-x= yes

XML --with-xml=yes yes

ZLIB --with-zlib=yes yes

發現--with-jpeg=yes   為no

    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安裝檔案,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