png/jpg 转换 webp

版权声明:本文为博主原创文章,可以随意转载,但请附原地址或原作者名。谢谢! https://blog.csdn.net/farley119/article/details/85260735

png/jpg 转换 webp

引言

​ 今天想着给自己的APP项目减下肥,就先从图片入手吧,谁知道网上PNG转换WEBP竟然收费!!!一气之下自己去搞了一个,供大家使用。

工具下载地址

https://download.csdn.net/download/farley119/10877571

webp是什么?

​ WebP是一种新的图像格式,可为Web上的图像提供出色的无损和有损压缩。使用WebP,网站管理员和Web开发人员可以创建更小,更丰富的图像,使网络更快。

与PNG相比,WebP无损图像的尺寸缩小了26%。在等效的SSIM质量指数下,WebP有损图像比同类JPEG图像 小25-34%。

无损WebP 支持透明度(也称为alpha通道),仅需22%的额外字节。对于有损RGB压缩可接受的情况,有损WebP也支持透明度,与PNG相比,通常提供3倍的文件大小。

Android对webp的支持

​ Android同样作为google的产品,minsdk为4.0即api14以上就可以支持webp,但是对透明的图片会存在一些问题,minsdk为4.2.1+即api17可以完美支持webp。

​ 考虑目前市场4.2.1以下的手机占比已经非常稀少,采用webp格式代替jpg、png的方案非常可行。

使用方法

​ 工具下载下来后,打开DOS/终端,然后进入到工具的bin目录下:

E:\下载\libwebp-1.0.1-windows-x64\libwebp-1.0.1-windows-x64\bin>

​ 然后使用如下命令:

 cwebp [options] -q quality input.png -o output.webp

​ 其中-q是指定压缩因素,范围是0-100,默认是75,quality就是你设定的值。

​ input.png是待转换的图片路径及名称格式

​ output.webp是转换后输出的图片及名称格式

​ 到此,基本的使用方式就是这样了。但是在实际运用中,这是有点小瑕疵的,没有谁会去一张一张的转换,而且一个项目中的图片绝对也不会少。这个时候我们就要想到去使用批处理来操作了,下面是我下好的一个批处理,大家可以参照修改成自己的:

@echo off
for %%a in (D:\xzyandroid\app\src\main\res\drawable-xxhdpi\*.jpg,D:\xzyandroid\app\src\main\res\drawable-xxhdpi\*.png) do (
    cwebp %%a -o D:\xzyandroid\app\src\main\res\drawable-xxhdpi\%%~na.webp
    echo %%~na.webp
)
echo "完成"

​ 在txt写好之后保存为bat,放在工具的bin目录下(与cwebp同一个文件夹),然后双击运行即可。

猜你喜欢

转载自blog.csdn.net/farley119/article/details/85260735