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高さと幅を取得できる 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 に答える