GraphicsMagick號(hào)稱圖像處理領(lǐng)域的瑞士軍刀。 短小精悍的代碼卻提供了一個(gè)魯棒、高效的工具和庫(kù)集合,來處理圖像的讀取、寫入和操作,支持超過88中圖像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。
通過使用OpenMP可是利用多線程進(jìn)行圖片處理,增強(qiáng)了通過擴(kuò)展CPU提高處理能力。
GraphicsMagick可以再絕大多數(shù)的平臺(tái)上使用,Linux、Mac、Windows都沒有問題。
GraphicsMagick 支持大圖片的處理,并且已經(jīng)做過GB級(jí)別的圖像處理實(shí)驗(yàn)。GraphicsMagick能夠動(dòng)態(tài)的生成圖片,特別適用于互聯(lián)網(wǎng)的應(yīng)用??梢杂脕硖幚碚{(diào)整尺 寸、旋轉(zhuǎn)、加亮、顏色調(diào)整、增加特效等方面。GaphicsMagick不僅支持命令行的模式,同時(shí)也支持C、C++、Perl、PHP、Tcl、 Ruby等的調(diào)用。事實(shí)上,GraphicsMagick是從 ImageMagick 5.5.2 分支出來的,但是現(xiàn)在他變得更穩(wěn)定和優(yōu)秀,下面就是兩個(gè)之間的一些比較。
GM更有效率(測(cè)評(píng)),能更快的完成處理工作
GM更小更容易安裝
GM已經(jīng)被Flickr和Etsy使用,每天處理百萬計(jì)的圖片
GM與已經(jīng)安裝的軟件不會(huì)發(fā)生沖突
GM幾乎沒有安全問題
GM的手冊(cè)非常豐富
如何安裝:
操作系統(tǒng) : Centos 5.4 x86_64
環(huán)境 : LAMP
編程語(yǔ)言 : PHP
準(zhǔn)備安裝環(huán)境
#yum install -y gcc gcc-c++ make cmake autoconf automake
#yum install -y libpng-devel libjpeg-devel libtiff-devel jasper-devel freetype-devel
啟用 EPEL repo 源
自行搜索安裝 epel-release-5-4.noarch.rpm
# rpm -ivh epel-release-5-4.noarch.rpm
warning: epel-release-5-4.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6
Preparing... ########################################### [100%]
1:epel-release ########################################### [100%]
導(dǎo)入key
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
安裝GraphicsMagick
# yum -y install GraphicsMagick GraphicsMagick-devel

如果你需要在php內(nèi)使用 pecl 擴(kuò)展 gmagick,安裝方法如下
# yum instlal php-pear
# pecl install gmagick
# echo 'extension=gmagick.so'> /etc/php.d/gmagick.ini
若安裝 pecl 擴(kuò)展出錯(cuò)
情況1:
# pecl install gmagick
Failed to download pecl/gmagick within preferred state "stable", latest release is version 1.1.2RC1, stability "beta", use "channel://pecl.php.net/gmagick-1.1.2RC1" to install
Cannot initialize 'channel://pecl.php.net/gmagick', invalid or missing package file
Package "channel://pecl.php.net/gmagick" is not valid
install failed
解決方法
# pecl install channel://pecl.php.net/gmagick-1.1.2RC1
情況2:
# pecl install gmagick
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 64 bytes) in /usr/share/pear/PEAR/XMLParser.php on line 142
Allowed memory size of 8388608 bytes exhausted (tried to allocate 72 bytes)
解決方法:
# vim +142 /usr/share/pear/PEAR/XMLParser.php
添加以下一行:
ini_set("memory_limit","100M");
重啟httpd
# service httpd restart
測(cè)試頁(yè)index.php
?php
phpinfo();
?>
訪問index.php能看下以下內(nèi)容即安裝成功

php上測(cè)試
上傳一張圖片1.jpg到 /var/www/html (這里是我的apache默認(rèn)目錄)
# cd /var/www/html
# vi 1.php
?php
# 如果使用擴(kuò)展報(bào)錯(cuò)請(qǐng)安裝libpng ,libjpeg ,libmcrypt到默認(rèn)目錄
$image = new Gmagick('1.jpg');
$image->borderImage('blue',3,3)->oilPaintImage(0.1);
$image->write('2.jpg');?>
效果


ps:記得要賦予apache用戶寫的權(quán)限