博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebP进阶篇--Gif2WebP
阅读量:6275 次
发布时间:2019-06-22

本文共 1102 字,大约阅读时间需要 3 分钟。

前几天在看公众号“程序员那些事”,中间有看到一个漫画。 这个漫画貌似不完整,所以有下面围观群众表示:老板卡带了,结局没了。

,那么问题来了,平常我们在上传图片,如果真的需要上传一张比较大的动图除了截取一段或者转成视频,还有什么别的方法吗?

WebP!

是不是觉得很诧异!别的文章讲的都是如何将PNG,JPG这一类的静态图片转成WebP,竟然连Gif都能转?(开个玩笑,你要是真的诧异了,请去看我的文章) WebP对比Gif有太多天然优势,颜色丰富,支持自定义透明,重点是文件大小小啊!我们来看一下前面说的那张图

是不是感觉两张质量没有什么大区别,但是大小差距太大了。 讲了这么多废话,进入正题

Talk is cheap, show me the code!

接下来我们就来分析下如何用gif转成webP制作,首先我们需要webP工具包, 根据各个平台下载大家所需要的平台包,然后打开压缩包在bin下面就会有一个gif2webp的命令行工具。

官方介绍标准的使用方法是

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

然后你去执行了,发现雾草,怎么大小才减少了零点几兆,这时候就要祭出高级使用法了。

First!我们都知道webP有一个压缩率,这个命令行也有这个参数,参数名是

-f 这边输入一个0到100的float

比较通用的是75,所以默认值也是75,但是你运行完,发现还是不对,大小也没小多少。之所以会这样,因为默认是无损的,所以我们要开启有损压缩。

-lossy Encode the image using lossy compression.复制代码

加了这个之后是不是一下子下降到1.8MB,你就开始想,是不是还能压缩呢?

##没错!

这边我们要提到一个压缩方法,gif2webp命令行默认是使用4个压缩方法的,其实上限是6个,但是压缩方法越多,意味着压缩时间越长,当然我们只是单纯的想减少图片大小,所以我们可以再加上一个参数

-m 6

综上我们把命令行的所有参数结合到一起

gif2webp path/source.gig -o path/dest.webp -q 75 -lossy -m 6

最终我们将一张5.1MB的gif压缩到了1.5MB,质量上并没有很大的区别。Unbelievable!!!

写的有点乱,大家见谅见谅。

PS. 现在公众号平台并不支持直接webP上传,但是!你所看到的公众号文章所展示的图片都是被webP转换过的,估计是为了兼容Safari或者IE这种不支持webP的浏览器吧

转载请注明出处!!!

你可能感兴趣的文章
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
多线程讲解
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
java 用反射简单应用,将Object简单转换成map
查看>>
Storm中的Worker
查看>>
dangdang.ddframe.job中页面修改表达式后进行检查
查看>>
Web基础架构:负载均衡和LVS
查看>>
Linux下c/c++相对路径动态库的生成与使用
查看>>
SHELL实现跳板机,只允许用户执行少量允许的命令
查看>>
SpringBoot 整合Redis
查看>>
nodejs安装以及环境配置(很好的node安装和配置文章,少走很多弯路)
查看>>
2014上半年大片早知道
查看>>