2010-05-28 99 views

回答

23

不,不幸的不是。

HTML 5 spec说,如果你已在不同context mode和两个上下文的canvas元素上调用getContext是不兼容的,然后返回null

不幸“的WebGL”和“2D”画布不兼容,因此你会得到null

var canvas = document.getElementById('my-canvas'); 
var webgl = canvas.getContext("webgl"); // Get a 3D webgl context, returns a context 
var twod = canvas.getContext("2d"); // Get a 2D context, returns null 
4

使用画布2D将文本创建为纹理,然后将其渲染为3D。有关教程,请参阅here

+0

但是,如果文本动态更新,那么文本渲染将变得缓慢。 – Pointer 2010-06-01 11:32:25

+1

无论如何,文字渲染速度都很慢。 – 2015-04-14 09:40:22

12

如前所述,你不能做到这一点。

但是,您可以将一个画布放在另一个画布的上面并分别绘制它们。我之前做过这件事,它可以很好地工作。

+0

欲了解更多信息,请参阅此问题:http://stackoverflow.com/questions/3008635/html5-canvas-element-multiple-layers – 1j01 2016-12-03 21:56:16