webp是谷歌10年发布的一种新的图片格式,支持有损压缩或无损压缩。据官方称无损压缩的webp在体积上要比png小26%,而有损压缩要比同质量jpg小25%~34%。经本人测试,由腾讯智图处理的不同图片转换webp压缩率不太一样,在24%~83%之间都有。这样大的压缩率对于我们Web前端开发工程师诱惑力实在太大了。因为互联网很大一部分流量都来自图片,图片体积变小可以帮助我们让网页加载地更快,这对提升用户体验是有帮助的。
    webp有损压缩使用了一种高级预测编码方法对图片进行编码,这种方法使用临近像素块中的值来预测当前块中的图像值,然后只需要对这种差异进行编码。
    webp无损压缩使用已经可见的图像碎片来精确地重建一个个新的像素。这种压缩模式被称为“VP8L”,与LZ77压缩算法有一些共同特征。
    那么,现在是否有产品使用webp呢?答案是肯定的,国外如Youtube、Gmail、Google Play、Chrome网上商店,国内如腾讯、淘宝、美团等都有webp的应用。科技博客 Gig‍‍‍aOM 曾报道:YouTube 的视频略缩图采用 WebP 格式后,网页加载速度提升了 10%;谷歌的 Chrome 网上应用商店采用 WebP 格式图片后,每天可以节省几 TB 的带宽,页面平均加载时间大约减少 1/3;Google+ 移动应用采用 WebP 图片格式后,每天节省了 50TB 数据存储空间。
    那我们开始使用webp吧!遗憾的是,除了chrome和opera,其他浏览器都没有对webp原生支持。所以就有了以下不同场景下的技术解决方案,在此共享给大家学习参考:
    1、浏览器
        方案一:
        JavaScript能力检测,仅对支持webp的情况输出webp

var testWebp = function(callback){
var image = new Image();
image.onerror = function(){
callback && callback(false);
}
image.onload = function(){
callback && callback(image.width == 1);
}
image.src = "data:image/webp;base64,UklGRiwAAABXRUJQVlA4ICAAAAAUAgCdASoBAAEAL/3+/3+CAB/AAAFzrNsAAP5QAAAAAA==";
}; testWebp(function(flag){
if(flag){
alert('恭喜,浏览器支持webp');
}else{
alert('抱歉,浏览器不支持webp');
}
});
        方案二:
        使用WebP插件(链接:http://pan.baidu.com/s/1i3GkVFf
        引入js文件,插件会捕捉使用webp图片的img元素,然后使用flash替换,值得注意的是图像的解码和显示都在插件中进行,故而对css背景图片无效
 
2、app
    1)Android4.0以上原生支持,4.0以下使用解析库(链接https://github.com/alexey-pelykh/webp-android-backport
 
另外,腾讯前端团队为我们提供了2款webp转换工具,有需要的同学可以一试:
    智图(http://zhitu.isux.us/
    iSparta(http://isparta.github.io/
    

webp介绍与使用的更多相关文章

  1. 图片格式:gif / png / pg / webp 介绍

    本文引自:https://www.cnblogs.com/changyangzhe/articles/5718285.html GIF介绍 GIF 意为Graphics Interchange for ...

  2. (转)让浏览器支持Webp

    转载:https://segmentfault.com/a/1190000005898538?utm_source=tuicool&utm_medium=referral Webp介绍 web ...

  3. 让浏览器支持Webp

    Webp介绍 webp是一种同时提供了有损压缩与无损压缩的图片档案格式 ,衍生自影像编码格式VP8,是由Google在购买On2 Technologies后发展出来,以BSD授权条款释出.根据 Goo ...

  4. 前端:WebP自适应实践

    WebP介绍 WebP 是 Google 推出的一种同时提供了有损和无损两种压缩方式的图片格式,优势体现在其优秀的图像压缩算法,能够带来更小的图片体积,同时拥有更高的的图像质量.根据官方说明,WebP ...

  5. 网站性能优化— WebP 全方位介绍

    谈到优化网站性能时,主要目标之一就是减少要发送到浏览器的数据量(即 payload).而当前,图片通常是页面构成中最耗费流量的部分,因此降低图片的大小是一个最为有效的优化网页前端性能的办法. 有很多工 ...

  6. WebP 原理和 Android 支持现状介绍(转)

    本文为腾讯Bugly开发者社区 投稿,作者:soonlai,版权归原作者所有,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/582939577ef9c5b70855 ...

  7. 【腾讯Bugly干货分享】WebP原理和Android支持现状介绍

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/582939577ef9c5b708556b0d 1.背景 目前网络中图片仍然是占 ...

  8. 【原】webp图片牛刀小试

    其实今年很早就有接触到webp图片的概念,只是一直没怎么弄.今天在一个小项目中小用了一番.总结总结 采用 what,why,how的方式来总结 what? 什么是webp图片? 维基百科:       ...

  9. 通读SDWebImage③--gif和webP的支持、不同格式图片的处理、方向处理

    本文目录 NSData+ImageContentType: 根据NSData获取MIME UIImage+GIF UIImage+WebP UIImage+MultiFormat:根据NSData相应 ...

随机推荐

  1. Eclipse导入Maven项目时class not found

    用maven开发javaweb项目可以自动导包,可以在配置文件pom.xml中发现依赖包,今天在eclipse中导入maven项目,开启tomcat服务器时报错 class not found, 看到 ...

  2. 通过wifi调试Android程序

    原文:http://www.cnblogs.com/sunzhenxing19860608/archive/2011/07/14/2106492.html 1.首先让android手机监听指定的端口: ...

  3. 判断richtextbox选中的是否为图片

    ) { Text = "Img"; } else { Text = "Form1"; }

  4. 小编接地气——第六届中国云计算大会攻略Q&A

    2014年5月20-23日,第六届中国云计算大会在北京召开. 花个1000多元,在工作日请假来參加大会,不能让大家白跑一趟而是物有所值. 小编写了大会攻略Q&A,分享给各位 Q:为什么要參加关 ...

  5. TOMCAT 集群之 PERSISTENT SESSION

    tomcat的session保存在数据库中,不是很复杂,写下来供大家参考. 准备工作: 两架Ubuntu Server 12.04 64位,确定两级服务器可以互相ping的通并属于同一个网段 安装jd ...

  6. [Whole Web] [Node.js, PM2] Controlling runaway apps using pm2

    shows how to enable features in your pm2 config file that allow you to prevent runaway apps from bri ...

  7. 第一个html程序

    <html><head><title> 表单</title> </head><body><form action=&quo ...

  8. js操纵cookie技术

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  9. Java基础知识强化之IO流笔记50:IO流练习之 复制多级文件夹的案例

    1. 复制多级文件夹的案例 需求:复制多级文件夹       数据源:E:\JavaSE\day21\code\demos     目的地:E:\   分析:         A:封装数据源File ...

  10. 鸭子类型duck typing(动态)

    在程序设计中,鸭子类型(duck typing)是动态类型的一种风格.在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定.这个概念的名字来源于由Ja ...