ImageMagick是一个开源的图像处理函数库,支持很多语言;可能人们比较熟悉GD库,ImageMagick的运行速度比GD快,并且支持更多的图像处理功能。在linux上安装使用,请参考:http://wap.littz.cn/viewnews.php?itemid=336

1. 使用ImageMagick压缩jpg 注意一定要使用setImageCompression、setImageCompressionQuality,不能使用setCompression、setCompressionQuality。研究了半天这两个函数,不知道为什么不能用,官方文档也没个说明。 <pre class=php name=code>$img1 = new Imagick(‘test.jpg’); $img1->setImageCompression(Imagick::COMPRESSION_JPEG); $img1->setImageCompressionQuality(40); $img1->writeImage(‘1.jpg’);</pre> 2. 调整图像大小,生成缩略图 <pre class=php name=code>$thumb = new Imagick(‘test.jpg’); $thumb->thumbnailImage($ftow, $ftoh, true); $thumb->writeImage(‘1.jpg’);</pre> 3. 调整图像大小,保留EXIF信息 <pre class=php name=code>$thumb = new Imagick(‘test.jpg’); $thumb->scaleImage($ftow, $ftoh); $thumb->writeImage(‘1.jpg’);</pre> 4. 转换图片格式 format信息可以从这里查到:http://www.imagemagick.org/script/formats.php <pre class=php name=code>$img = new Imagick(‘test.jpg’); $img->setImageFormat( “png” ); $img->writeImage(‘1.png’);</pre> 5. 生成gif动画的缩略图 请参考:imagick 处理 gif 切割 或者是 缩放 附录: EXIF(Exchangeable image file format)是可交换图像文件的缩写,是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。EXIF最初由日本电子工业发展协会在1996年制定,版本为1.0。1998年,升级到2.1,增加了对音频文件的支持。2002年3月,发表了2.2版。EXIF可以附加于JPEG、TIFF、RIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本信息。

EXIF中包含的图像方向信息: http://sylvana.net/jpegcrop/exif_orientation.html http://www.php.net/manual/en/imagick.constants.php#imagick.constants.orientation http://www.php.net/manual/en/function.imagick-getimageorientation.php


Simon Lee

My blog