Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

can the HTML5 Canvas element be created from the Canvas constructor

I would like to be able to make Canvas elements from the constructor so that I could make a function like this.

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; } 

I get an error at the line var canvas = new Canvas() saying that 'Canvas is undefined' does HTML5 not allow creating elements from the constructor? or are there parameters that I need to pass to the constructor. Any ideas would be great.

like image 839
Overfloater Avatar asked Nov 30 '11 18:11

Overfloater


2 Answers

While you can do new Image() just fine, new Canvas() isn't a thing! Canvas Isn't even a thing, though HTMLCanvasElement is. Nonetheless you cannot use its constructor.

document.createElement('canvas'); is what you want. You have to use that, just like with divs.

like image 149
Simon Sarris Avatar answered Sep 25 '22 10:09

Simon Sarris


var mycanvas = document.createElement("canvas"); mycanvas.id = "mycanvas"; document.body.appendChild(mycanvas); 
like image 37
yapingchen Avatar answered Sep 26 '22 10:09

yapingchen