【发布时间】:2016-04-05 08:10:28
【问题描述】:
如何获取给定画布上可用上下文的列表?不幸的是,从https://*.com/a/13406681/2054629 开始,对每个可能的选项都使用 getContext 不起作用 所以
var possibleContexts = ['2d', 'webgl', 'webgl2', 'experimental-webgl', 'experimental-webgl2', ...];
var availableContexts = possibleContexts.filter(function(c) { return canvas.getContext(c); });
不会工作
我试图更好地理解,而在我的代码中,webgl 上下文有时可用,有时不可用。我有一个新创建的画布将具有 webgl 上下文的用户,而我感兴趣的那个却失败了。我试图更好地理解这一点。所以创建新画布的解决方案在这里不起作用......
目前我正在做的事情如下:
var testWebGl = function() {
var canvas = document.createElement('canvas');
return !!(canvas.getContext('webgl') || canvas.getContext('canvas.getContext('webgl')');
};
然后
if (testWebGl())
doSomeWebGlStuff(myCanvas);
偶尔doSomeWebGlStuff 会失败,因为我无法在myCanvas 上获得webgl 上下文。所以我想在我感兴趣的画布上获取所有可用的上下文。
【问题讨论】:
标签: html5-canvas