您的位置:首页 > 编程语言 > PHP开发

php如何将webp格式图片转为jpeg(ImageMagick+libwebp)

2015-08-10 17:29 676 查看
php的文档介绍可以结合imagecreatefromwebp和imagejpeg两个方法来将webp转为jpeg,如下:

<?php

// 加载 WebP 文件

$im = imagecreatefromwebp('./example.webp');

// 以 100% 的质量转换成 jpeg 格式

imagejpeg($im, './example.jpeg', 100);

imagedestroy($im);

?>

但是这样转换得到的jpeg图片颜色有问题,整体颜色黄色偏多了,于是放弃这种办法。

打算用imagemagick来处理,于是安装imagemagick.

从官网下载:http://www.imagemagick.org/download/ImageMagick.tar.gz

tar zxvf ImageMagick.tar.gz

cd ImageMagick-6.9.1-10

./configure --prefix=/usr/local/ImageMagick

make

make install

安装完成后,运行命令:/usr/local/ImageMagick/bin/convert test.webp test.jpeg

提示:



发现找不到dwebp命令,这个dwebp是google提供的处理webp的libwebp库里的,于是安装libwebp。

yum search libwebp



yum install libwebp-devel.x86_64

安装完后发现还是不能运行dwebp命令,再把libwebp-tools.x86_64安装了一下

yum install libwebp-tools.x86_64

安装完成后,imagemagick就可以成功将webp转为jpeg了,而且在颜色上没有改变,图像也清晰。

其实,可以直接用dwebp命令:dwebp test.webp -o test.jpeg

但是这样得到的jpeg图片较大,几百K,用imagemagick得到的图片只有几十K,所以最终还是选择imagemagick转换webp图片了。

php用exec调用imagemagick命令既可以转换。

总结:google弄的webp格式图片,还是得google提供的库才能完美解决,解铃还须系铃人啊!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php imagemagick webp