web-dev-qa-db-fra.com

l'élément HTML5 Canvas peut-il être créé à partir du constructeur Canvas

J'aimerais pouvoir créer des éléments Canvas à partir du constructeur afin de pouvoir créer une fonction comme celle-ci.

function createCanvasContext(height,width)
{
   var body =  document.getElementsById('body')[0];
   var canvas = new Canvas();
   canvas.height=height;
   canvas.width = width;
   var context = canvas.getContext('2d');
   body.appendChild(canvas);
   return context;
}

J'obtiens une erreur à la ligne var canvas = new Canvas () disant que 'Canvas is undefined' HTML5 ne permet-il pas de créer des éléments à partir du constructeur? ou y a-t-il des paramètres que je dois transmettre au constructeur. Toutes les idées seraient géniales.

47
Overfloater

Bien que vous puissiez faire new Image() très bien, new Canvas() n'est pas une chose! Canvas Ce n'est même pas une chose, mais HTMLCanvasElement l'est. Néanmoins, vous ne pouvez pas utiliser son constructeur.

document.createElement('canvas'); est ce que vous voulez. Vous devez utiliser cela, tout comme avec les divs.

83
Simon Sarris
var mycanvas = document.createElement("canvas");
mycanvas.id = "mycanvas";
document.body.appendChild(mycanvas);
53
yapingchen