参考谷歌官网:Webp: A new image format for the Web

Webp是Google强推的新一代网络图片格式,特点就是:高质量压缩。
能压缩多少呢?5MB的原图,不降低效果,转换成webp格式后大小是几百KB。100KB的图,转换后是9KB。

虽然目前所有主流浏览器都支持这种图片格式,但不幸的是所有主流系统如Mac、Win等都还没有默认支持打开它的程序,更无法显示它的预览、缩略图。

如果想查看,最简单的方法是把*.webp文件的打开方式设定为Chrome等浏览器,双击打开在浏览器中查看。

还有很多时候我们需要对这种文件进行转换。

Google提供了一组工具集合,叫libwebp,其中包括各种webp相关转换的命令:

  • cwebp -- 将其它图片转为webp格式图片 (不包括GIF)
  • dwebp -- 将webp格式图片转为其它格式图片
  • vwebp -- webp图片浏览器
  • webpmux -- WebP muxing tool
  • gif2webp -- 将GIF转换为webp图片

下载安装参考官网:Downloading and Installing WebP

Ubuntu安装libweb库:

$ sudo apt-get install webp

Mac安装libwebp库:

$ brew install webp

注意:Homebrew安装的webp并不包括上面所有的工具,而只有cwebpdwebp

如果我们想要所有的工具,有两种方法:

  • 到官网找到自己OS对应版本的二进制包,直接运行使用
  • 自己编译

最简单就是到官网下载列表里找到自己的OS对应版本的二进制包,下载下来解压缩直接使用。
官方下载列表:https://storage.googleapis.co...

比如我的系统是Mac 10.12,那么就找到libwebp-0.6.0-mac-10.12.tar.gz这个压缩包下载:

cd /tmp
wget https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-0.6.0-mac-10.12.tar.gz
tar xvzf libwebp-*.tar.gz
cd libweb-*

然后在~/.zshrc~/.bash_profile中的PATH环境变量中加入刚才二进制文件包中的bin目录,或者直接设置alias,即可开始像别的命令开始用了。

如果没有自己所用系统的二进制包,那么就只能自己编译了。每种平台的编译方法不一样,需要按照官网方法一步一步安装。

编译方法参考官方:Compiling the Utilities

将各种图片转换为Webp格式

参考:https://developers.google.com...

目前输入格式支持:png, jpg

$ cwebp INPUT.png -o OUTPUT.webp

将Webp图片转换为其它格式图片

参考:https://developers.google.com...

$ dwebp INPUT.webp -o OUTPUT.png

将GIF转换为Webp格式

参考:https://developers.google.com...

$ gif2webp INPUT.gif -o OUTPUT.webp

浏览webp图片

这个命令不是在命令行终端里浏览图片,而是在桌面上弹出一个GUI窗口显示图片,所以需要依赖本地电脑的GUI桌面。

 
$ vwebp INPUT.webp

转载:https://segmentfault.com/a/1190000018178569

最新文章

  1. 利用Highcharts插件制作动态图表
  2. 判断 0 和 '' 以及 empty null false的关系
  3. 20135316王剑桥 linux第七周课实验笔记
  4. [转]10个顶级的CSS UI开源框架
  5. iOS学习笔记---oc语言第十天
  6. Unity3D 游戏开发应用篇——每日登陆(持久化类实现)
  7. asp.net WebService异步
  8. vs2012快速将项目托管到github
  9. 用 Entity Framework结合Oracle数据库来开发项目
  10. nginx之 nginx虚拟机配置
  11. LINUX - awk命令之NF和$NF区别 (转)
  12. HTML页面加载异常,按F12调试后居然又好了的解决办法!
  13. 吴恩达机器学习笔记41-支持向量机的优化目标(Optimization Objective of Support Vector Machines)
  14. java多线程快速入门(二十)
  15. Oracle DB 使用RMAN恢复目录
  16. Android 多线程编程
  17. 谈谈web上各种图片应用的优缺点
  18. 自学Python2.8-条件(if、if...else)
  19. 使用JDBC从数据库中查询数据的方法
  20. Java JVM运行时数据区,内存管理和GC垃圾回收

热门文章

  1. el-pagination分页优化
  2. 专心学LINUX:CentOS关闭屏幕自动锁定和睡眠
  3. openwrt配置strongswan对接hillstone ipsec的笔记
  4. mysql存储、function、触发器等实例
  5. mingw控制台中文乱码
  6. stm32进入HardFault_Handler的定位方法
  7. windows下面同时部署多个tomcat的方法
  8. learning java Math类
  9. 定位的盒子叠放顺序z-index
  10. 9、共享变量(Broadcast Variable和Accumulator)