2012-03-06 59 views
4

我一直在设置一个小框架,将可定位和动画图形渲染到一个<canvas>元素上 - 主要是为了帮助我理解它。如何在Firefox的画布上绘制透明的PNG?

我从互联网上下载了一张随机精灵表来测试 - 它有一个透明的背景,它似乎在我的iPhone和Safari浏览器中呈现良好。

此为演示:

enter image description here

是否有一个特定的Firefox路:http://martywallace.com/simplecanvas/

在Firefox但是精灵负荷为白色,从而结束了寻找这样的透明部分启用透明度,还是不支持?

+0

这已被问到之前 http://stackoverflow.com/questions/2916938/how-to-draw-transparent-image-with-html5-canvas-element – 2012-03-06 22:26:54

+1

@MartinBarker这个问题是不同的;它会动态地询问如何将透明度应用于画布上的整个图像。我只是希望默认情况下作为图像一部分的透明度不会呈现为白色 - 这是一个与浏览器相关的问题。 – Marty 2012-03-06 22:28:18

+1

如果您在空白的画布上绘制透明PNG,任何人都可以看到它? mVChr 2012-03-06 22:39:25

回答

1

这里是发生了什么事[stupidity disclaimer]

  1. 我下载了原本透明的形象,在Chrome,Safari和iPhone上测试它。
  2. 图像是1MB,所以我将它缩小到PNG8(并且在导出时忘记了允许透明度)。
  3. 图像的缓存版本用于我测试过的浏览器(我没有注意到)。
  4. 当我进入Firefox时,使用了新的非透明(因为之前没有缓存)。

结果:Firefox渲染透明的PNG很好 - 很满意这个问题被关闭为“太本地化”。

+0

以上图片为1M? – 2012-03-06 23:03:30

+0

@EricYin上图是画布本身在不同位置多次渲染1MB图像的一部分的屏幕截图 - 实际的精灵图表本身接近1MB。 – Marty 2012-03-06 23:05:48

相关问题