欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP图像处理类库MagickWand用法实例分析

程序员文章站 2023-01-05 22:53:50
本文实例讲述了php图像处理类库magickwand用法。分享给大家供大家参考。具体分析如下: magickwand 是php的一个扩展程序,通过它建立起与imagema...

本文实例讲述了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程序设计有所帮助。