通过 Flash 让所有浏览器支持 WebP 格式图像解码
openkk 13年前
<p><a href="/misc/goto?guid=4958189440070283523" target="_blank">WebP</a>是Google推出的一种图片格式,它基于VP8编码,可对图像大幅压缩。与JPEG相同,WebP也是一种有损压缩,但在画质相同的情况下,WebP格式比JPEG图像小40%。见 <a href="/misc/goto?guid=4958189440832936781" target="_blank">Wiki</a> 或 <a href="/misc/goto?guid=4958189441568744196" target="_blank">百度百科</a>。它是一个开源项目,我们可以<a href="/misc/goto?guid=4958189442303394478" target="_blank">在此</a>获取其中源码,以及相关工具。</p> <p>显然,<a href="/misc/goto?guid=4958189443045807366" target="_blank">Google浏览器Chrome首先引入</a>,此外<a href="/misc/goto?guid=4958189443780021274" target="_blank">Opera 11.10也增加对WebP的支持</a>。但目前还缺少其它浏览器的支持(除非安装插件-<a href="/misc/goto?guid=4958189444511797627" target="_blank">Windows</a>和<a href="/misc/goto?guid=4958189445253737240" target="_blank">Mac OS</a>),但这并不妨碍我们尝试!</p> <p>大多数浏览器自身无法解码WebP格式,但可以交给我们来实现!虽然网页脚本无法胜任,但借助Flash技术,我们完全可以实现高效快速的解码。并且,几乎所有的浏览器都支持Flash,所以<a href="/misc/goto?guid=4958189445985417390" target="_blank">zjcqoo</a>写了个WebP插件:</p> <p>当前版本共3个文件:<a href="/misc/goto?guid=4958189446726579568" target="_blank">WebP.js</a>,<a href="/misc/goto?guid=4958189447466724483" target="_blank">WebP.swf</a>和<a href="/misc/goto?guid=4958189448203402803" target="_blank">WebP.htc</a>。在此<a href="/misc/goto?guid=4958189448940905483" target="_blank">下载</a>打包文件。</p> <p>在<body></body>之间插入如下代码,即可使用WebP了。</p> <blockquote> <p><code><script type="text/javascript" src="WebP.js"></script></code></p> </blockquote> <p>插件将会捕捉页面中使用WebP格式的img元素,并用Flash进行替换。图像的解码及显示都在Flash中完成,因此目前版本对CSS设置的背景图片无效。</p> <p>当然,作为JPEG格式的替换,只有对较大的图像使用才有意义,否则过多的解码将消耗大量的资源。</p> <p><a href="/misc/goto?guid=4958189445985417390" target="_blank">etherdream</a>网站里还有一些代码示范可以参考。</p> <p>Via <a href="/misc/goto?guid=4958189445985417390" target="_blank">etherdream</a></p>