图片缩略图生成工具GraphicsMagick介绍及安装方法
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
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用户写的权限
相关文章
- 在日常运维作业中,经常会碰到路由表的操作,下面就linux运维中的路由操作做一梳理,详细请看下文介绍2024-02-03
deepin任务栏不显示怎么办deepin任务栏消失不见的解决办法
如果你在deepin系统中遇到任务栏出不来的情况,请使用以下两种有效的解决方法处理,详细请看下文介绍2024-01-22- 作为一个Linux管理员,管理 Linux 服务器上的磁盘空间是一项重要任务,该怎么查看电脑的磁盘空间呢?详细请看下文介绍2024-01-22
Linux和Windows系统怎么选 Linux与Windows系的区别介绍
对于用户来说,Linux和Windows的不断更新引发了两者之间的竞争,Linux系统与Windows系统文件权限究竟区别在哪里,详细请看下文介绍2024-01-22如何解决linux解压rar 乱码问题? Linux解压RAR文件时乱码问题的解决办
对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们,如果遇到解压乱码该怎么办呢?详细请看下文介绍2024-01-09- 我们可以选择商业软件或者老牌的免费开源SSH工具,这几款SSH客户端工具,你看看有喜欢的没有,2024-01-03
Linux服务器安装netstat命令的方法及netstat应用案例
netstat是一个常用的网络工具,用于显示网络连接、路由表、网络接口信息等,在Linux系统中,netstat命令通常已经预装了,如果没有安装可以通过以下步骤进行安装2024-01-03- 这篇文章主要为大家介绍了Linux定时任务crontab的命令编辑运行,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-16
- 这篇文章主要介绍了Linux用户态切换内核态的方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-03
Linux(KDE)使用Network Settings设置静态ip详细教程
这篇文章主要为大家介绍了Linux(KDE)使用Network Settings设置静态ip详细教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-10-31
最新评论