webp介绍

WebP是google推出一种图片格式,优点是压缩率高,在质量相同的情况下WebP格式图像的体积要比JPEG格式图像小40%,网站使用webp格式的图片能有效节省服务器的带宽。

php图片转webp格式需要利用ImageMagick,要先安装ImageMagick跟imagick扩展。

ImageMagick介绍

ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具。

安装ImageMagick

先安装依赖:

yum install -y libjpeg-devel libpng-devel libtiff-devel libgif-devel


安装libwebp:

wget -c https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.2.2.tar.gz
tar zxf libwebp-1.2.2.tar.gz
cd libwebp-1.2.2
./configure
make && make install


将目录添加到PKG_CONFIG_PATH变量:

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig


下载安装ImageMagick:

wget -c https://imagemagick.org/archive/ImageMagick-7.1.0-48.tar.gz
tar zxvf ImageMagick-7.1.0-48.tar.gz
cd ImageMagick-7.1.0-48
./configure --prefix=/usr/local/imagemagick --disable-openmp --with-webp
make && sudo make install
sudo ldconfig /usr/local/lib


创建连接:

ln -s /usr/local/imagemagick/bin/convert /usr/local/bin/convert


查看是否安装成功:

convert -version


如果返回类似以下的信息表示安装成功

Version: ImageMagick 6.9.10-68 Q16 x86_64 2021-10-14 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP(3.1)
Delegates (built-in): bzlib cairo fontconfig freetype gslib jng jp2 jpeg lcms ltdl lzma openexr pangocairo png ps rsvg tiff wmf x xml zli

php实现图片转webp格式

查看是否支持webp:

convert -list format | grep -i webp


返回类似这样的信息说明已经支持webp格式

WEBP* rw+   WebP Image Format (libwebp 1.0.0 [020E])

安装imagick扩展

这里注意下面 /usr/local/php/bin/php-config要对应安装扩展的php版本的路径

wget -c https://pecl.php.net/get/imagick-3.7.0.tgz
tar zxf imagick-3.7.0.tgz
cd imagick-3.7.0
phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
make && make install


编辑php.ini文件,添加imagick扩展

不清楚php.ini路径的,可以通过以下命令查询:

php --ini


或者

php -i | grep php.ini


php实现图片转webp格式

在文件最后面添加上 extension = "imagick.so" 就可以

查看扩展是否安装成功。

php --ri imagick | grep -i webp


有返回信息就说明扩展安装成功并且支持webp格式

php实现图片转webp格式

测试

安装成功后写一段代码测试转换效果。

<?php
$img = new Imagick('./1.png');
$img->setImageFormat('webp');
$img->writeImage('./1.webp');
?>


php实现图片转webp格式

执行后可以看到转换成功了,webp格式的体积比png格式的要小了不止一半。

标签: none

已有 15 条评论

  1. 博主真是太厉害了!!!

  2. 怎么收藏这篇文章?

  3. 想想你的文章写的特别好https://www.237fa.com/

  4. 想想你的文章写的特别好www.jiwenlaw.com

  5. 文章的确不错啊https://www.cscnn.com/

  6. 《隐瞳谜案》电影片高清在线免费观看:https://www.jgz518.com/xingkong/158389.html

  7. 真好呢

  8. maimang666.com

  9. 《小偷家族日语》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/53354.html

  10. 《小偷家族日语》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/53354.html

  11. 《变身国王2:高刚外传》动画片高清在线免费观看:https://www.jgz518.com/xingkong/12283.html

  12. 作者的观点新颖且实用,让人在阅读中获得了新的思考和灵感。

  13. 情感表达稍显含蓄,可适当强化渲染。

  14. 文章深入浅出,既有深度思考,又不乏广度覆盖,令人叹为观止。

  15. 这篇文章提供了宝贵的经验和见解,对读者有很大的启发和帮助。

添加新评论