ImageMagick 能干什么?
一个可以供PHP调用ImageMagick功能的PHP扩展。使用这个扩展可以使PHP具备和ImageMagick相同的功能。 ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过185种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个(或一组)图片进行改变大小、旋转、锐化、减色或增加特效等操作,并将操作的结果以相同格式或其它格式保存。
PHP如何安装?
准备工作:
ImageMagick-6.5.5-6-Q16-windows-dll.exe
下载地址:http://image_magick.veidrodis.com/image_magick/binaries/你可以找到你需要的版本,一般都会选择一个比较新的,但是我下载的是ImageMagick-6.5.5-6-Q16-windows-dll.exe
你还需要的就是一个DLL 文件 php_Imagick.dll 如果你的PHP版本是 PHP 5.2.x的话在这里下载:http://valokuva.org/outside-blog-content/imagick-windows-builds/080709/(我下载的是php_imagick_dyn-Q16.dll 这个文件)
如果是PHP 5.3.x的话,这个就是你需要的了:http://valokuva.org/outside-blog-content/imagick-windows-builds/php53/
安装过程:
安装 :ImageMagick-6.5.7-7-Q16-windows-dll.exe
然后把php-5.2.4_magickwand_q16_st.dll 重命名为php_imagick.dll 然后copy到php的ext文件夹下
在php.ini文件中添加设置
extension=php_imagick.dll
之后查看phpinfo() 里面有没有imagick一栏,如果有的话就可以进行测试了。
php_imagick程序示例
1.创建一个缩略图并显示出来
<?php
header('Content-type: image/jpeg');
$image = new Imagick('image.jpg');
// If 0 is provided as a width or height parameter,// aspect ratio is maintained
$image->thumbnailImage(100, 0);
echo $image;
?>
2.创建一个目录下的缩略图,并保存
<?php
$images = new Imagick(glob('images/*.JPG'));
foreach($images as $image) {
// Providing 0 forces thumbnailImage to maintain aspect ratio
$image->thumbnailImage(1024,0);
}
$images->writeImages();
?>
3.缩略GIF动画图片
<?php
/* Create a new imagick object and read in GIF */
$im = new Imagick("example.gif");
/* Resize all frames */
foreach ($im as $frame) {
/* 50x50 frames */
$frame->thumbnailImage(50, 50);
/* Set the virtual canvas to correct size */
$frame->setImagePage(50, 50, 0, 0);
}/* Notice writeImages instead of writeImage */
$im->writeImages("example_small.gif", true);
?>