簡體   English   中英

webgl和2d畫布之間的透明度差異

[英]Transparency discrepancy between webgl and 2d canvases

我有一個png,我使用2d canvas加載,並作為webgl紋理。 png有一些透明的部分,在webgl中呈現黑色,在2D canvas中呈現白色。 (請參閱此小提琴以獲得實時演示。在Chrome中,您需要使用標志--disable-web-security來繞過跨源限制。)

有沒有辦法為webgl紋理設置透明度顏色? 2d畫布怎么樣?

您在createTexture中將紋理加載為RGB,因此丟棄了Alpha通道。 將其更改為RGBA,如

gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);

他們看起來也一樣。

為了讓canvas能夠理解你的png透明度,你需要將其保存為24位。

因為24位PNG圖像包含完整的8位alpha通道。

完整參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM