PHP图像处理类库MagickWand用法实例分析


Posted in PHP onMay 21, 2015

本文实例讲述了PHP图像处理类库MagickWand用法。分享给大家供大家参考。具体分析如下:

MagickWand 是PHP的一个扩展程序,通过它建立起与ImageMagick的交互,进行图片的处理。它是默认的GD图象函数库的绝佳替代方案。从安全性和易用性来说,在PHP中使用MagickWand比使用命令行ImageMagick要安全快捷的多。另外 imagick也可用于PHP中作为ImageMagick的替代方案。

MagickWand 有两种形式,

只是建立与ImageMagick的交互,这种情况必须先安装ImageMagick,优点是扩展程序文件小(一般几百K),可以快速升级ImageMagick版本,不过WINDOWS临时目录需要特殊权限。

扩展程序本身包含了ImageMagick,优点是不需要额外安装ImageMagick,临时目录不需要特殊权限,但扩展程序文件比较大(一般4M以上)。

MagickWand 默认并没有在PHP的安装包里,需要去PHP网站上下载,并在PHP.INI中打开此扩展。

下面是一个使用 MagicWand 的代码片段:

$magick_wand=NewMagickWand();
MagickReadImage($magick_wand,'rose.jpg');
$drawing_wand=NewDrawingWand();
DrawSetFont($drawing_wand,"/usr/share/fonts/bitstream-vera/Vera.ttf");
DrawSetFontSize($drawing_wand,20);
DrawSetGravity($drawing_wand,MW_CenterGravity);
$pixel_wand=NewPixelWand();
PixelSetColor($pixel_wand,"white");
DrawSetFillColor($drawing_wand,$pixel_wand);
if (MagickAnnotateImage($magick_wand,$drawing_wand,0,0,0,"Rose") != 0)
{
  MagickEchoImageBlob( $magick_wand );
}
else
{
  echo MagickGetExceptionString($magick_wand);
}

安装方法:

1. 下载 php_magickwand_q16_st.dll for 5.2.x
2. 将其放在PHP的扩展目录
3. 在php.ini文件总增加 extension=php_magickwand_q16_st.dll
4. 重新启动apache

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
怎样才能成为PHP高手?学会“懒惰”的编程
Dec 05 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
Oct 09 PHP
php中通过curl smtp发送邮件
Jun 05 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
利用PHP函数计算中英文字符串长度的方法
Nov 11 PHP
php+xml编程之xpath的应用实例
Jan 24 PHP
php include类文件超时问题处理
Feb 06 PHP
PHP中把对象数组转换成普通数组的方法
Jul 10 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
PHP类相关知识点实例总结
Sep 28 PHP
php实现图片按比例截取的方法
Feb 06 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
Mar 04 PHP
php使用标签替换的方式生成静态页面
May 21 #PHP
php eval函数一句话木马代码
May 21 #PHP
php结合正则批量抓取网页中邮箱地址
May 19 #PHP
php实现模拟登陆方正教务系统抓取课表
May 19 #PHP
PHP IDE phpstorm 常用快捷键
May 18 #PHP
PHP网络操作函数汇总
May 18 #PHP
PHP面向对象之后期静态绑定功能介绍
May 18 #PHP
You might like
关于初学PHP时的知识积累总结
2013/06/07 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
共享自己写一个框架DreamScript
2007/01/20 Javascript
js 页面执行时间计算代码
2009/03/04 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
如何用Python合并lmdb文件
2018/07/02 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
2013/02/04 HTML / CSS
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
启动一个线程是用run()还是start()
2016/12/25 面试题
总经理岗位职责范本
2014/02/02 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
2015入党个人自传范文
2015/06/26 职场文书
餐馆开业致辞
2015/08/01 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL