0

每当我尝试运行它时,我都会在 chrome 中收到类型错误:代码更新

// Get the drawing canvas
canvas = $('#drawing');
context = canvas[0].getContext('2d');

function resizeCanvas() {

    canvas.attr({'width' : $(window).width()});
    canvas.attr({'height' : $(window).height() - 158});

    var dataURL = canvas[0].toDataURL('image/png');
    context.drawImage(dataURL, 0, 0);

}

$(window).resize(function() {
    resizeCanvas();
}); resizeCanvas();

// Various event handlers after this.

为什么!?

4

2 回答 2

1

你的代码看起来不错。检查以下内容:

  1. 存在一个canvas带有 id 的元素drawing
  2. 您的 Chrome 版本支持canvas.
于 2012-08-19T16:58:34.763 回答
1

drawImage获取图像或画布引用,您将传递给它一个字符串。

例如:

var a = document.createElement("canvas");
a.getContext("2d").drawImage("asdasdasd", 0, 0 )
//TypeError: Type error

你可以试试:

context.drawImage(canvas[0], 0, 0);

或者

var image = new Image();
image.src = dataURL;
context.drawImage( image, 0, 0 );
于 2012-08-19T18:25:38.120 回答