web-dev-qa-db-ja.com

HTML5 Canvas要素はCanvasコンストラクターから作成できますか

このような関数を作成できるように、コンストラクタからCanvas要素を作成できるようにしたいと思います。

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

行var canvas = new Canvas()でエラーが発生します。「Canvas is undefined」はHTML5ではコンストラクターから要素を作成できませんか?または、コンストラクタに渡す必要があるパラメータがあります。どんなアイデアでも素晴らしいでしょう。

47
Overfloater

new Image()は問題なく実行できますが、new Canvas()は問題ではありません。 Canvasは、ものではありませんが、HTMLCanvasElementはそうです。それにもかかわらず、そのコンストラクタを使用することはできません。

document.createElement('canvas');はあなたが望むものです。 divの場合と同様に、これを使用する必要があります。

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