ImageMagick,一个强大的图像处理函数库
2011-03-18 tech

首先介绍其安装方法,

1
yum -y install ImageMagick

搞定了,然后

1
convert -version

检查安装效果,感觉挺不错
用法,简单介绍一种,压缩图片,其他的用法请自行搜索

1
mogrify -quality 60 -strip *.jpg

批量将当前整个文件夹的jpg文件压缩到60%
实测了一下,如果按照80%质量,图片几乎和原来的观看效果差不多,但是大小缩小了一倍,60%则是在略微有一点损失的情况下把图像压缩3-4倍,而且占用挺小的
PS:他还有PHP的扩展库
http://pecl.php.net/package/imagick
这里下载完编译上去就行了.
然后扔一段从网上搜的用到他的图像处理函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function resize($image, $width, $height, $crop) {
$imagick = new Imagick();
$imagick->readImageBlob($image);
if ($crop) {
$imagick->cropThumbnailImage($width, $height);
} else {
$imagick->resizeImage($width, $height, Imagick::FILTER_LANCZOS, 1, true);
}
$imagick->setImageFormat(‘JPEG’);
$imagick->setImageCompression(Imagick::COMPRESSION_JPEG);
$a = $imagick->getImageCompressionQuality() * 0.75;
if ($a == 0) $a = 75;
$imagick->setImageCompressionQuality($a);
$geo = $imagick->getImageGeometry();
$imagick->ThumbnailImage($geo['width'], $geo['height']);
$imagick->stripImage();
$blob = $imagick->getImageBlob();
$imagick->clear();
$imagick->destroy();
return $blob;
}

最后附上其PHP扩展的具体参数用法
http://cn.php.net/imagick