2010-08-26 7 views
4

Dans une partie de mon code, j'appelle getContext('2d') sur un élément canvas pour produire un objet CanvasRenderingContext2D. Cet objet passe ensuite d'un bon bout de la fonction à l'autre, et à un point ultérieur du code, il serait utile d'obtenir une référence à l'élément canvas dom original qui produisait un contexte donné. Je ne trouve rien dans la spécification qui prévoie cela, mais cela semble être le genre de chose qui devrait être possible. Des idées?Obtenir une référence à un élément Canvas à partir de son contexte?

Je peux penser à beaucoup de solutions de contournement (passer l'élément de toile avec son contexte, etc.) mais mon code est déjà assez compliqué et je préfère le faire directement.

Répondre

10

Donc, vous avez votre contexte:

var ctx = myCanvas.getContext('2d'); // the canvas' 2d context 

plus tard vous pouvez toujours faire:

ctx.canvas // the context's canvas, which in this case is the same as myCanvas 

De l'Canvas spec:

interface CanvasRenderingContext2D { 

    // back-reference to the canvas 
    readonly attribute HTMLCanvasElement canvas; 
+2

OK, maintenant je suis gêné . Je * jure * J'ai vérifié les spécifications pour quelque chose comme ça, je dois devenir aveugle. Merci! –

Questions connexes