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

这篇文章主要介绍了PHP图像处理类库MagickWand用法,较为详细的分析了php中图像处类库MagickWand的相关使用技巧,需要的朋友可以参考下。

本文实例讲述了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 的代码片段:

  1. $magick_wand=NewMagickWand();
  2. MagickReadImage($magick_wand,'rose.jpg');
  3. $drawing_wand=NewDrawingWand();
  4. DrawSetFont($drawing_wand,"/usr/share/fonts/bitstream-vera/Vera.ttf");
  5. DrawSetFontSize($drawing_wand,20);
  6. DrawSetGravity($drawing_wand,MW_CenterGravity);
  7. $pixel_wand=NewPixelWand();
  8. PixelSetColor($pixel_wand,"white");
  9. DrawSetFillColor($drawing_wand,$pixel_wand);
  10. if (MagickAnnotateImage($magick_wand,$drawing_wand,0,0,0,"Rose") != 0)
  11. {
  12. MagickEchoImageBlob( $magick_wand );
  13. }
  14. else
  15. {
  16. echo MagickGetExceptionString($magick_wand);
  17. }

安装方法:

1. 下载 php_magickwand_q16_st.dll for 5.2.x

2. 将其放在PHP的扩展目录

3. 在php.ini文件总增加 extension=php_magickwand_q16_st.dll

4. 重新启动apache