转自:http://www.open-open.com/lib/view/open1328843850046.html
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 的代码片段:
01 | $magick_wand =NewMagickWand(); |
02 | MagickReadImage( $magick_wand , 'rose.jpg' ); |
03 | $drawing_wand =NewDrawingWand(); |
04 | DrawSetFont( $drawing_wand , "/usr/share/fonts/bitstream-vera/Vera.ttf" ); |
05 | DrawSetFontSize( $drawing_wand ,20); |
06 | DrawSetGravity( $drawing_wand ,MW_CenterGravity); |
07 | $pixel_wand =NewPixelWand(); |
08 | PixelSetColor( $pixel_wand , "white" ); |
09 | DrawSetFillColor( $drawing_wand , $pixel_wand ); |
10 | if (MagickAnnotateImage( $magick_wand , $drawing_wand ,0,0,0, "Rose" ) != 0) |
12 | MagickEchoImageBlob( $magick_wand ); |
16 | echo MagickGetExceptionString( $magick_wand ); |
安装方法:
- 下载 php_magickwand_q16_st.dll for 5.2.x
- 将其放在PHP的扩展目录
- 在php.ini文件总增加 extension=php_magickwand_q16_st.dll
- 重新启动apache