一、linux编译安装ImageMagick
1、首先安装所需软件libwebp-dev
sudo apt-get install libwebp-dev webp
2、下载imagemagick源码包
wget https://www.imagemagick.org/download/ImageMagick.tar.gz3、tar zxvf ImageMagick.tar.gz
4、./configure --prefix=/usr/local/imagemagick7
5、sudo make
6、sudo make install
7、查看是否有webp格式的支持
sudo /usr/local/imagemagick7/bin/convert -list format | grep webp
WEBP* rw+ WebP Image Format (libwebp 1.2.2 [020F])
说明安装成功了,如果发现没有这个webp说明安装的有问题,可以在第四步的时候查看 libwebp是否大于0.4.1如果不显示no则需要重新编译安装libwebp
checking for libwebp >= 0.4.1... no
checking for libwebpmux >= 0.5.0 libwebpdemux >= 0.5.0... no
具体安装步骤在 https://www.erlangyun.com/p.php?id=258
8、编译安装php的imagick扩展
wget http://pecl.php.net/get/imagick-3.4.3.tgz
tar zxvf imagick-3.4.3.tgz
cd imagick-3.4.3
/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config --with-imagick=/usr/local/imagemagick7
sudo make
sudo make install
安装成功完之后就会出现这个
Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/
Installing header files: /usr/local/php5/include/php/
然后编译 php.ini
把这个加进去
extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/imagick.so
重启php-fpm
新建一个php文件输入 phpinfo();
看看有没有webp
使用方法
/** * @param1 $webp webp格式图片 * @param2 转换的格式,如jpg,png等等 */ public function webpToPic($webp,$type){
$IM = new imagick($webp); $IM->setImageFormat($type);
$fileName = '/tmp/magick-test.'.$type; $IM->writeImage($fileName);
}
批量转换图片简单用法 mogrify -path ./test -format png *.jpg
path 生成文件所在目录 format 生成文件的格式