Question

Is there any way to obtain the canvas that a context is used for?

Why I'm asking is because I'm creating a prototype function for CanvasRenderingContext2D in which I need the width/height of the canvas element.

E.g.:

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

Solution

ctx.canvas should return the canvas DOM node, from which you can get height and width.

I tried it with https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_usage

Firefox was able to return ctx.canvas, as well as ctx.canvas.width and ctx.canvas.height. Also confirmed in Chrome.

OTHER TIPS

Try this to check for yourself:

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

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

Here's the above in a jsFiddle.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top