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中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
PHP 第三节 变量介绍
Apr 28 PHP
php 强制下载文件实现代码
Oct 28 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
Sep 23 PHP
PHP大神的十大优良习惯
Sep 14 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
Oct 13 PHP
PHP+Ajax 检测网络是否正常实例详解
Dec 16 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
Dec 24 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 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
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
jquery中获取元素的几种方式小结
2011/07/05 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
2016/08/01 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
JS常用知识点整理
2017/01/21 Javascript
webpack 2的react开发配置实例代码
2017/07/28 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
Vue数据双向绑定原理及简单实现方法
2018/05/18 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
pyramid配置session的方法教程
2013/11/27 Python
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
python and or用法详解
2019/06/26 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
python 实现按对象传值
2019/12/26 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
python可迭代对象去重实例
2020/05/15 Python
购买大码女装:Lane Bryant
2016/09/07 全球购物
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
大学毕业通用个人的求职信
2013/12/08 职场文书
给物业的表扬信
2014/01/21 职场文书
安全宣传标语
2014/06/10 职场文书
文秘应届生求职信
2014/07/05 职场文书
用php如何解决大文件分片上传问题
2021/07/07 PHP
python和anaconda的区别
2022/05/06 Python