2012-03-06 95 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