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 相关文章推荐
PHP5中的this,self和parent关键字详解教程
Mar 19 PHP
PHP对字符串的递增运算分析
Aug 08 PHP
深入理解PHP之require/include顺序 推荐
Jan 02 PHP
php urlencode()与urldecode()函数字符编码原理详解
Dec 06 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
Oct 16 PHP
解密ThinkPHP3.1.2版本之模板继承
Jun 19 PHP
PHP判断是否为空的几个函数对比
Apr 21 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
PHP判断是否微信访问的方法示例
Mar 27 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
Add Formatted Text to a Word Document
2007/06/15 Javascript
javascript 避免闭包引发的问题
2009/03/17 Javascript
JS 对象介绍
2010/01/20 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
JS实现判断碰撞的方法
2015/02/11 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
浅谈Node模块系统及其模式
2017/11/17 Javascript
Vue多系统切换实现方案
2018/06/05 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
Python多线程下载文件的方法
2015/07/10 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
Django 1.10以上版本 url 配置注意事项详解
2019/08/05 Python
python处理excel绘制雷达图
2019/10/18 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
应届毕业生简历自我评价
2014/01/31 职场文书
工地安全质量标语
2014/06/07 职场文书
责任书格式范文
2014/07/28 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript