[英]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.2D
, Context.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.