图片缩略图生成工具GraphicsMagick介绍及安装方法
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%]
# 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:
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 142allowed 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用户写的权限