Javascript 如何在Firefox中在画布上绘制透明PNG?

Javascript 如何在Firefox中在画布上绘制透明PNG?,javascript,canvas,rendering,transparency,Javascript,Canvas,Rendering,Transparency,我已经建立了一个小框架,用于在元素上渲染可定位和动画图形,主要是为了帮助我理解它 我从网上下载了一张随机的精灵表进行测试——它有一个透明的背景,在我的iPhone和Safari浏览器上,用Chrome看起来效果不错 这是演示: 然而,在Firefox中,精灵的透明部分显示为白色,最终显示如下: 是否有特定于Firefox的方式来启用透明性,或者它不受支持?以下是发生的情况[愚蠢免责声明]: 我下载了最初的透明图像,并在Chrome、Safari和iPhone上进行了测试 图像是1MB,所以我将

我已经建立了一个小框架,用于在
元素上渲染可定位和动画图形,主要是为了帮助我理解它

我从网上下载了一张随机的精灵表进行测试——它有一个透明的背景,在我的iPhone和Safari浏览器上,用Chrome看起来效果不错

这是演示:

然而,在Firefox中,精灵的透明部分显示为白色,最终显示如下:


是否有特定于Firefox的方式来启用透明性,或者它不受支持?

以下是发生的情况
[愚蠢免责声明]

  • 我下载了最初的透明图像,并在Chrome、Safari和iPhone上进行了测试
  • 图像是1MB,所以我将其缩小到PNG8(并且在导出时忘记了允许透明度)
  • 图像的缓存版本在我测试的浏览器中使用(我没有注意到)
  • 当我转到Firefox时,新的非透明浏览器正在使用中(因为之前没有缓存)

  • 结果:Firefox呈现透明PNG效果良好-满意这个问题被关闭为“过于本地化”。

    这是在@MartinBarker之前提出的问题,问题不同;它询问如何动态地将透明度应用于画布上绘制的整个图像。我只希望默认情况下图像的透明度不呈现为白色-这是一个特定于浏览器的问题。如果在空画布上绘制透明png,有人会看到吗?@Ericin上图是画布本身的截图,在不同的位置多次渲染1MB图像的一部分-实际的精灵表本身接近1MB。