webp介绍与使用

王朝学院·作者佚名  2016-05-22
窄屏简体版  字體: 小  |  中  |  大  |  超大  

webp介绍与使用 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)ios解析库(https://github.com/carsonmcdonald/WebP-iOS-example)另外,腾讯前端团队为我们提供了2款webp转换工具,有需要的同学可以一试: 智图(http://zhitu.isux.us/) iSparta(http://isparta.github.io/)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航