PHP图像处类库 MagickWand

fmms 12年前

MagickWand 是PHP的一个扩展程序,通过它建立起与ImageMagick的交互,进行图片的处理。它是默认的GD图象函数库的绝佳替代方案。从安全性和易用性来说,在PHP中使用MagickWand比使用命令行ImageMagick要安全快捷的多。另外 imagick也可用于PHP中作为ImageMagick的替代方案。

MagickWand 有两种形式,

  1. 只是建立与ImageMagick的交互,这种情况必须先安装ImageMagick,优点是扩展程序文件小(一般几百K),可以快速升级ImageMagick版本,不过WINDOWS临时目录需要特殊权限。
  2. 扩展程序本身包含了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

项目主页:http://www.open-open.com/lib/view/home/1328843850046