GraphicsMagick安裝及使用


相信做過互聯網圖片的人都知道ImageMagick,超牛逼的圖片處理庫,而GraphicsMagick是從ImageMagick5.5.2的分支版本,支持多達88種圖片格式的處理,而且相當穩定及高效,對於java應用來說GraphicsMagick+im4java簡直就是天作之合。

1) 安裝GraphicsMagick

# tar -zxvf GraphicsMagick-1.3.17.tar.gz
# cd GraphicsMagick-1.3.17
# ./configure --prefix=/usr/local/graphicsmagick-1.3.17

輸出以下內容,注意紅色部分:

Delegate Configuration:

BZLIB --with-bzlib=yes yes
DPS --with-dps=yes no
FlashPIX --with-fpx=no no
FreeType 2.0 --with-ttf=yes no (需要freetype支持)
Ghostscript None gs (unknown)
Ghostscript fonts --with-gs-font-dir=default /usr/share/fonts/default/Type1/
Ghostscript lib --with-gslib=no no
JBIG --with-jbig=yes no
JPEG v1 --with-jpeg=yes no (需要libjpeg支持)
JPEG-2000 --with-jp2=yes no
LCMS v1 --with-lcms=yes no
LCMS v2 --with-lcms2=yes no
LZMA --with-lzma=yes no
Magick++ --with-magick-plus-plus=yes yes
PERL --with-perl=no no
PNG --with-png=yes no (需要libpng支持)
TIFF --with-tiff=yes no
TRIO --with-trio=yes no
Windows fonts --with-windows-font-dir= none
WMF --with-wmf=yes no
X11 --with-x= no
XML --with-xml=yes yes
ZLIB --with-zlib=yes yes

如果./configure后出現以上信息,則需要安裝第三方庫以支持JPEG,PNG,FreeType處理,步驟如下:

a) 安裝libjpeg

# cd ..
# rpm -qa | grep libjpeg
# rpm -qa | grep libjpeg | xargs rpm -e --nodeps --allmatches
# wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/delegates/libjpeg-6b.tar.gz
# tar -zxvf libjpeg-6b.tar.gz
# cd libjpeg-6b
# ./configure
# make
# make install
# ln -s /usr/local/lib/libjpeg* /lib/
# ln -s /usr/local/lib/libjpeg* /lib64/

b) 安裝libpng

# cd ..

# rpm -qa | grep libpng
# rpm -qa | grep libpng | xargs rpm -e --nodeps --allmatches
# wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/delegates/libpng-1.2.49.tar.gz
# tar -zxvf libpng-1.2.49.tar.gz
# cd libpng-1.2.49
# ./configure
# make
# make install
# ln -s /usr/local/lib/libpng* /lib/
# ln -s /usr/local/lib/libpng* /lib64/

c) 安裝freetype

# cd ..
# rpm -qa | grep freetype
# rpm -qa | grep freetype | xargs rpm -e --nodeps --allmatches
# wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/delegates/freetype-2.4.10.tar.gz
# tar -zxvf freetype-2.4.10.tar.gz
# cd freetype-2.4.10
# ./configure
# make
# make install
# ln -s /usr/local/lib/freetype* /lib/
# ln -s /usr/local/lib/freetype* /lib64/

d) 安裝GraphicsMagick

# cd ../GraphicsMagick-1.3.17
# ./configure --prefix=/usr/local/graphicsmagick-1.3.17
# make
# make install

備注:有可能會在安裝libpng時,出現ZLIB無法找到的情況,則按照類似方法安裝ZLIB。

2) 使用GraphicsMagic

將GraphicsMagic_HOME/bin目錄加入到執行PATH中,然后執行以下命令。

>> 查看GraphicsMagic幫助

# gm -help

>> 將input.jpg制作成640x480的縮略圖

# gm convert input.jpg -geometry 640x480^ -gravity center -extent 640x480 output.jpg

>> 將input.jpg制作成640x480的圖片,多余的部分留白

# gm convert input.jpg -geometry 640x480^ -background white -gravity center -extent 640x480 output.jpg

>> 給inputjpg圖片追加文字水印

# gm convert input.jpg -font Bookman-DemiItalic -fill red -pointsize 33 -draw "text 1600,50 'www.abc.com'" output.jpg

>> 添加邊框

# gm convert input.jpg -frame 15x15+3+3 output.jpg

下一遍將帶來im4java的代碼示例。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM