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判断正常访问和外部访问的示例
Feb 10 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
PHP中的日期加减方法示例
Aug 21 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
初识ThinkPHP控制器
Apr 07 PHP
Yii2框架BootStrap样式的深入理解
Nov 07 PHP
php 静态属性和静态方法区别详解
Apr 09 PHP
老生常谈PHP面向对象之解释器模式
May 17 PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 PHP
Laravel框架下的Contracts契约详解
Mar 17 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
Apr 06 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
Search Engine Friendly的URL设计
2006/10/09 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
php中随机函数mt_rand()与rand()性能对比分析
2014/12/01 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
php无限级分类实现方法分析
2016/10/19 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
javascript的几种写法总结
2016/09/30 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
JavaScript实现跟随滚动缓冲运动广告框
2017/07/15 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
Python基础知识_浅谈用户交互
2017/05/31 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python中请不要再用re.compile了
2019/06/30 Python
详解如何减少python内存的消耗
2019/08/09 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
用Python写一个for循环的例子
2016/07/19 面试题
作风建设年活动实施方案
2014/10/24 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
小学生节水倡议书
2015/04/29 职场文书
为自己工作观后感
2015/06/11 职场文书
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript