画布' drawImage'返回'未找到与所提供的签名相匹配的功能。'

时间:2014-11-17 12:59:22

标签: javascript jquery html5 canvas html5-canvas

我有两张HTML5画布。我首先画一个临时的,然后我想把temp复制到最后一个。 一切似乎都有效,除了drawImage函数这很奇怪,因为它接受了图像以及画布。我已经尝试转换为DatatoUrl()方法但没有成功。

这些是我正在使用的对象。尺寸等都是稍后设定的。

var paint = $('<canvas/>');
var temp_paint = $('<canvas/>');
temp_ctx = temp_paint[0].getContext('2d');
ctx = paint[0].getContext('2d');

有什么想法吗?

这是代码

function paintMouseUp(e) 
{
    e.preventDefault();
    draw=false; 
    ctx.drawImage(temp_paint, 0, 0);
    temp_ctx.clearRect(0, 0, settings.width, settings.height);
    mousePoints = [];
}

这是我得到的错误:

无法执行&#39; drawImage&#39; on&#39; CanvasRenderingContext2D&#39;:未找到与提供的签名匹配的功能。

1 个答案:

答案 0 :(得分:1)

temp_paint是jQuery的对象,所以它不能是.drawImage()第一个参数。您可以改用此代码:

ctx.drawImage(temp_ctx.canvas, 0, 0);

Fiddle example