46

有什么方法可以获取使用上下文的画布吗?

为什么我要问是因为我正在创建一个原型函数CanvasRenderingContext2D,我需要画布元素的宽度/高度。

例如:

var cv = document.getElementById('canvas');
var ctx = cv.getContext('2d');
// Using only 'ctx', how to get 'cv'?
4

2 回答 2

68

ctx.canvas应该返回画布 DOM 节点,您可以从中获取高度和宽度。

我尝试使用https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_usage

Firefox 能够返回 ctx.canvas,以及 ctx.canvas.width 和 ctx.canvas.height。在 Chrome 中也得到了确认。

于 2011-03-15T16:25:51.310 回答
3

试试这个来检查自己:

var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
var isSameObject = canvas === context.canvas;

alert(isSameObject
    ? 'context.canvas gives expected result'
    : 'unexpected result');

这是 jsFiddle 中的上述内容

于 2013-04-06T15:17:21.160 回答