GraphicsMagick号称图像处理领域的瑞士军刀。短小精悍的代码却提供了一个鲁棒、高效的工具和库集合,来处理图像的读取、写入和操作,支持超过88中图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。
通过使用OpenMP可是利用多线程进行图片处理,增强了通过扩展CPU提高处理能力。
GraphicsMagick可以再绝大多数的平台上使用,Linux、Mac、Windows都没有问题。
GraphicsMagick支持大图片的处理,并且已经做过GB级别的图像处理实验。GraphicsMagick能够动态的生成图片,特别适用于互联网的应用。可以用来处理调整尺寸、旋转、加亮、颜色调整、增加特效等方面。GaphicsMagick不仅支持命令行的模式,同时也支持C、C++、Perl、PHP、Tcl、Ruby等的调用。事实上,GraphicsMagick是从ImageMagick5.5.2分支出来的,但是现在他变得更稳定和优秀,下面就是两个之间的一些比较。
GM更有效率(测评),能更快的完成处理工作
GM更小更容易安装
GM已经被Flickr和Etsy使用,每天处理百万计的图片
GM与已经安装的软件不会发生冲突
GM几乎没有安全问题
GM的手册非常丰富
如何安装:
操作系统 :Centos5.4x86_64
环境:LAMP
编程语言 :PHP
准备安装环境
#yuminstall-ygccgcc-c++makecmakeautoconfautomake
#yuminstall-ylibpng-devellibjpeg-devellibtiff-develjasper-develfreetype-devel
启用EPELrepo源
自行搜索安装epel-release-5-4.noarch.rpm
#rpm-ivhepel-release-5-4.noarch.rpm
warning:epel-release-5-4.noarch.rpm:HeaderV3DSAsignature:NOKEY,keyID217521f6
Preparing...###########################################[100%]
1:epel-release###########################################[100%]
导入key
#rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
安装GraphicsMagick
#yum-yinstallGraphicsMagickGraphicsMagick-devel
如果你需要在php内使用pecl扩展gmagick,安装方法如下
#yuminstlalphp-pear
#peclinstallgmagick
#echo'extension=gmagick.so'>/etc/php.d/gmagick.ini
若安装pecl扩展出错
情况1:
#peclinstallgmagick
Failedtodownloadpecl/gmagickwithinpreferredstate"stable",latestreleaseisversion1.1.2RC1,stability"beta",use"channel://pecl.php.net/gmagick-1.1.2RC1"toinstall
Cannotinitialize'channel://pecl.php.net/gmagick',invalidormissingpackagefile
Package"channel://pecl.php.net/gmagick"isnotvalid
installfailed
解决方法
#peclinstallchannel://pecl.php.net/gmagick-1.1.2RC1
情况2:
#peclinstallgmagick
Fatalerror:Allowedmemorysizeof8388608bytesexhausted(triedtoallocate64bytes)in/usr/share/pear/PEAR/XMLParser.phponline142
Allowedmemorysizeof8388608bytesexhausted(triedtoallocate72bytes)
解决方法:
#vim+142/usr/share/pear/PEAR/XMLParser.php
添加以下一行:
ini_set("memory_limit","100M");
重启httpd
#servicehttpdrestart
测试页index.php
<?php
phpinfo();
?>
访问index.php能看下以下内容即安装成功
php上测试
上传一张图片1.jpg到/var/www/html(这里是我的apache默认目录)
#cd/var/www/html
#vi1.php
<?php#如果使用扩展报错请安装libpng,libjpeg,libmcrypt到默认目录$image=newGmagick('1.jpg');$image->borderImage('blue',3,3)->oilPaintImage(0.1);$image->write('2.jpg');?>效果
ps:记得要赋予apache用户写的权限