繁体   English   中英

HTML5画布上下文

[英]HTML5 Canvas Context

我已经开始阅读/试验HTML5了。 我见过的HTML5 Canvas的所有教程都遵循JavaScript的模式,通过ID获取画布,获得2d上下文,然后使用上下文:

 <canvas id="myCanvas" width="300" height="200" style="border:1px solid"></canvas>
 <script>
   var c=document.getElementById("myCanvas");
   var ctx=c.getContext("2d");
   ctx.fillStyle="cyan";
   ctx.fillRect(50,50,100,75);
 </script>

我想知道是否有任何枚举或常量来获取画布的上下文。

Context.2DContext.3D等等(我知道这不是一个真正的常量,只是想知道在JavaScript或HTML5中是否存在类似的东西)。

我看到的每个例子,所做的调用都是getContext("2d") 这似乎很脆弱,也没有告诉我其他(如果有的话)上下文可能是什么。

你只调用一次getContext ,如果再次调用它,如果画布已经用不同的上下文类型初始化,它将返回null。 如果再次使用相同的上下文类型调用它,它将返回相同的上下文。 如果画布不支持给定的上下文ID字符串,也会返回Null。

换句话说,每个画布只有一个上下文。

没有告诉我其他(如果有的话)上下文可能是什么。

为此,有一个方法supportsContext(someContextString) ,这是一个非常新的规范(2012年3月),尚未在任何浏览器中实现。

还有任何浏览器尚未支持的setContext (可能在几个nightlies中)。 请注意, setContext仅在您创建无头上下文时才有用,因为如果您尝试设置另一个上下文,则已具有上下文的画布(通过使用getContext)将引发错误。

无论如何,参数是字符串的原因是允许对画布进行特定于浏览器的扩展。 毕竟,MS可能想要实现getContext('2d-directx') (他们可能永远不会这样做)。

这些天你唯一能看到的字符串是"2d""webgl""webgl-experimental"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM