使用代码本地压缩图片为webp格式

下载libwebp

官方下载地址:点击我

直接下载页面地址:点击我

另一个地址:点击我

除了libwebp还好很多,librsvglibpnglibjpeg、等等

根据系统选择需要下载的版本,本文已windows为例

在下载页面——查看日期——下拉到最底部下载最新windows-x64版本

解压libwebp

解压文件得到:libwebp-1.2.0-windows-x64的文件夹,我改名为libwebp本文把:ffmpeg放在D盘根目录里,随意放。

设置环境变量

在系统变量里双击选择path,选择新建,将FFmpeg的bin目录的路径D:\libwebp\bin加进去,如果是win7记得加上分号;,点击“确定”保存,即配置完成。(我放的是系统变量的Path里)


查看环境变量是否配置成功

cmd控制台:输入cwebp查看返回结果

// 出现下面成功
Usage:
   cwebp [options] -q quality input.png -o output.webp

where quality is between 0 (poor) to 100 (very good).
Typical value is around 80.
Try -longhelp for an exhaustive list of advanced options.

简短说明

cwebp使用WebP格式压缩图像
dwebp将WebP文件解压缩为PNG,PAM,PPM或PGM图像
gif2webp将GIF图像转换为WebP图像
img2webp从输入图像序列创建动画WebP文件
vwebp解压缩WebP文件并将其显示在窗口中。
webpinfo打印出WebP文件的cunk级结构,同时执行基本的完整性检查
webpmux从非动画WebP图像创建动画WebP文件,从动画WebP图像提取帧,并管理XMP/EXIF元数据和ICC概要文件

准备图片文件

本文图片目录:D:\ss

实例:webp命令

进入图片所在文件夹复制文件路劲,打开cmd输入:cd D:\ss 进入视频目录。

图片文件:input.jpg  压缩级别0-100:-q 80     保存图片名:-o output.webp
cwebp input.jpg -q 80 -o output.webp
// 我自己常使用下面这段
cwebp input.jpg -q 75 -m 6 -f 100 -o output1.webp


其他webp命令参数

cwebp -longhelp
// 默认格式的图:
cwebp car_ocean_portal.png -o car_ocean_portal.webp
// 输出10KBytes大小的图:
cwebp -size 10240 car_ocean_portal.png -o car_ocean_portal1.webp
// 输出100×100大小的图:
cwebp -resize 100 100 car_ocean_portal.png -o car_ocean_portal2.webp
cwebp -resize 50 50 car_ocean_portal2.webp -o car_ocean_portal3.webp
// 同时限制大小:
cwebp -resize 100 100 -size 1024 car_ocean_portal.png -o car_ocean_portal4.webp
// 在小图片,且色彩比较单一的情况下,效果并不好,大小比png要大。
cwebp input.jpg -resize 6000 3462  -q 75 -m 6 -f 100 -o output1.webp
// -f 100 设置图片平滑:0-100

实例:gif2webp命令

官方介绍标准的使用方法:图片基本不压缩只少了几K

gif2webp [options] input_file.gif -o output_file.webp
image-20210207120115442


高级一点的使用方法:图片压缩差不多一半

gif2webp input.gif -o dest.webp -q 75 -lossy -m 6
image-20210207114520604


其他webp命令参数

  -h / -help ............. this help
  -lossy ................. encode image using lossy compression
  -mixed ................. for each frame in the image, pick lossy
                           or lossless compression heuristically
  -q <float> ............. quality factor (0:small..100:big)
  -m <int> ............... compression method (0=fast, 6=slowest)
  -min_size .............. minimize output size (default:off)
                           lossless compression by default; can be
                           combined with -q, -m, -lossy or -mixed
                           options
  -kmin <int> ............ min distance between key frames
  -kmax <int> ............ max distance between key frames
  -f <int> ............... filter strength (0=off..100)
  -metadata <string> ..... comma separated list of metadata to
                           copy from the input to the output if present
                           Valid values: all, none, icc, xmp (default)
  -loop_compatibility .... use compatibility mode for Chrome
                           version prior to M62 (inclusive)
  -mt .................... use multi-threading if available

  -version ............... print version number and exit
  -v ..................... verbose
  -quiet ................. don't print anything

其他例子:

gif2webp picture.gif -o picture.webp
gif2webp -q 70 picture.gif -o picture.webp
gif2webp -lossy -m 3 picture.gif -o picture_lossy.webp
gif2webp -lossy -f 50 picture.gif -o picture.webp
gif2webp -min_size -q 30 -o picture.webp -- ---picture.gif
cat picture.gif | gif2webp -o - -- - > output.webp

总结

如果担心图片的安全,建议使用本地方法压缩,使用网站压缩图片的安全性得不到保障,服务器有缓存的。

不在乎安全,但是网页压缩自定义性不高,压缩达不到自己想要的效果可以使用本地压缩

关于其他几种使用方法可以去Google网站查看,网站地址:点击我

RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
HMAU » 使用代码本地压缩图片为webp格式