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 SQL防注入代码集合
Apr 25 PHP
PHP下常用正则表达式整理
Oct 26 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
8个PHP程序员常用的功能汇总
Dec 18 PHP
PHP实现仿Google分页效果的分页函数
Jul 29 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
PHPMailer发送邮件
Dec 28 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 PHP
PHP中->和=>的含义及使用示例解析
Aug 06 PHP
PHP实现文件上传与下载
Aug 28 PHP
PHP实现简单日历类编写
Aug 28 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 使用post,get的一种简洁方式
2010/04/25 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
php基本函数汇总
2015/07/09 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
JQ图片文件上传之前预览功能的简单实例(分享)
2017/11/12 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
JS实现模糊查询带下拉匹配效果
2018/06/21 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
详解Python3中yield生成器的用法
2015/08/20 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
Python内置模块ConfigParser实现配置读写功能的方法
2018/02/12 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
酒店仓管员岗位职责
2014/04/28 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
docker 制作mysql镜像并自动安装
2022/05/20 Servers