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 时间计算问题小结
Jan 04 PHP
php输出表格的实现代码(修正版)
Dec 29 PHP
JS中encodeURIComponent函数用php解码的代码
Mar 01 PHP
PHP应用JSON技巧讲解
Feb 03 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
PHP实现补齐关闭的HTML标签
Mar 22 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
利用 fsockopen() 函数开放端口扫描器的实例
Aug 19 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 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设计模式 php实现模板方法模式
2015/12/08 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
JS array 数组详解
2009/03/22 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
Python collections模块使用方法详解
2019/08/28 Python
基于matplotlib xticks用法详解
2020/04/16 Python
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
数学专业推荐信范文
2013/11/21 职场文书
大学生个人简历中的自我评价
2013/12/27 职场文书
公司道歉信范文
2014/01/09 职场文书
西式婚礼证婚词
2014/01/12 职场文书
党员干部一句话承诺
2014/05/30 职场文书
关于读书的活动方案
2014/08/14 职场文书
博士给导师的自荐信
2015/03/06 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android
Python自动化实战之接口请求的实现
2022/05/30 Python