标签: bpg

加载bpg图像:兼容,简单,高效的技术

最近有一些关于Fabrice Bellard的BPG图像格式(http://bellard.org/bpg/)的喧哗,它(基于他网站上提供的演示)提供比jpeg,webp和其他一些更好的压缩.图像解码在浏览器中使用JS完成,这意味着它可以立即使用,无需等待浏览器采用.总的来说,这似乎是一个好主意,并且为了更快的下载而交换一些CPU时间通常是可行的权衡.

而该技术在这里使用的换出的图像是,在window.load,遍历document.images,找到任何地方src属性包含".bpg"和替换用帆布结束的URL.

然而,这绝对不是解决问题的唯一方法,我看到这种技术的一些缺点,包括:a)画布与图像没有完全相同的布局规则 - 例如,设置宽度属性就意味着不同的东西在img vs a canvas上,b)似乎至少在Chrome中,对于缩小与画布相比的图像,缩放是如何进行的.

理想情况下,更好的解决方案可满足这些要求

  • 尝试不再需要在内存中复制图像数据(并且也不会不必要地使用比必要的CPU更多的CPU - 与本机图像处理相比,JS中的解码已经需要很多)
  • 拥有尽可能多的浏览器兼容性
  • 使用<img>标签而不是<canvas>(不是要求,但似乎更好)
  • 提供一种简单的方法,不仅可以处理文档加载上的图像,还可以处理稍后添加到文档中的图像(例如,响应用户活动)
  • 仍然易于使用(bellard.org上的现有技术肯定易于集成)
  • 编辑:使用网络工作者解码图像而不阻止页面也是一个很好的方法.

想到的一些相关工具包括data:和blob:urls.

任何人都有使用这种"更好"技术加载BPG的工作代码示例?(Fabrice在他的例子中使用它的方式也不错,当然方法有权衡,但我认为可能有一些更好的广泛使用.)

javascript image image-processing bpg

18
推荐指数
1
解决办法
1534
查看次数

如何在背景上设置BPG

我可以使用BPG图像作为<div><body>背景?background: url('bg.bpg');不起作用.

有一个Javascript解码器允许.bpg图像显示在<img>标签中,但我想用一个作为<body>背景.

html javascript css background-image bpg

4
推荐指数
1
解决办法
1588
查看次数

标签 统计

bpg ×2

javascript ×2

background-image ×1

css ×1

html ×1

image ×1

image-processing ×1