ImageMagick是一款功能强大的图片处理工具包,很多互联网应用中都会涉及到图片处理工作,比如切割、缩放、水印、格式转换等。ImageMagick就是一个理想的工具包。这里主要记录一下Linux RedHat 2.6.18下的环境安装过程。
安装基础依赖:
先检查一些基本的图片支持包是否已经安装,比如jpge和png
RedHat环境下:
rpm -qa | grep libpng-devel
rpm -qa | grep libjpeg-devel
如果没有,可以用yum或者下载源码安装:
yum -y install libpng-devel libjpeg-devel
安装webp库:
先下载libwebp-0.3.0.tar.gz
tar -zxvf libwebp-0.3.0.tar.gz
cd libwebp-0.3.0
./configure && make && make install
cp /usr/local/lib/libwebp.so.4.0.2 /usr/lib64/
ln -s /usr/lib64/libwebp.so.4.0.2 /usr/lib64/libwebp.so.4
ln -s /usr/lib64/libwebp.so.4.0.2 /usr/lib64/libwebp.so
安装ImageMagick:
tar -zxvf ImageMagick-6.8.4-8.tar.gz
cd ImageMagick-6.8.4-8
./configure --prefix=/usr/local/imagemagick --with-webp
make && make install
ln -s /usr/local/imagemagick/include/ImageMagick-6 /usr/local/imagemagick/include/ImageMagick
配置环境变量:
export MAGICK_HOME=/usr/local/imagemagick
检查是否安装成功:
convert -list format 查看支持的格式(png,jpeg,webp)
安装PHP和imagick模块:php版本5.4.9,源码安装:(要先安装mysql-client)
tar -zxvf php-5.4.9.tar.gz
cd php-5.4.9
./configure --prefix=/usr/local/php --with-mysql=/opt/apps/mysql-client/ --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody
make && make install
cp php.ini-production /usr/local/php/php.ini
安装imagick-3.1模块:
tar -zxvf imagick-3.1.0RC2.tgz
cd imagick-3.1.0RC2
/usr/local/php/bin/phpize
export PKG_CONFIG_PATH=/usr/local/imagemagick/lib/pkgconfig
./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
make && make install
安装完成,可以在代码里方便地处理图片了。
另外提一下:webp格式的图片确实在体积上减少了很多,按google官方的说法是平均能减少30%的大小。但是目前只有chrome浏览器支持这一格式,而在移动端,该webp格式的解析引擎性能并不优秀,所以在使用时还要衡量好流量和性能。