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是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,下面就是两个之间的一些比较。
GM更有效率(测评),能更快的完成处理工作
GM更小更容易安装
GM已经被Flickr和Etsy使用,每天处理百万计的图片
GM与已经安装的软件不会发生冲突
GM几乎没有安全问题
GM的手册非常丰富
如何安装:
操作系统 : Centos 5.4 x86_64
环境 : LAMP
编程语言 : PHP
准备安装环境
#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%]
导入key
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
安装GraphicsMagick
# yum -y install GraphicsMagick GraphicsMagick-devel
如果你需要在php内使用 pecl 扩展 gmagick,安装方法如下
# yum instlal php-pear
# pecl install gmagick
# echo 'extension=gmagick.so'> /etc/php.d/gmagick.ini
若安装 pecl 扩展出错
情况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
测试页index.php
?php
phpinfo();
?>
访问index.php能看下以下内容即安装成功
php上测试
上传一张图片1.jpg到 /var/www/html (这里是我的apache默认目录)
# cd /var/www/html
# vi 1.php
?php
# 如果使用扩展报错请安装libpng ,libjpeg ,libmcrypt到默认目录
$image = new Gmagick('1.jpg');
$image->borderImage('blue',3,3)->oilPaintImage(0.1);
$image->write('2.jpg');?>
效果
ps:记得要赋予apache用户写的权限