Javascript 帆布';drawImage';返回';未找到与提供的签名匹配的函数;
我有两张HTML5画布。我先画一个临时的,然后我想复制到最后一个临时的。 除了drawImage函数外,其他一切似乎都正常工作。drawImage函数很奇怪,因为它同时接受图像和画布。我已经尝试了convert to DatatoUrl()方法,但没有成功 这些是我正在使用的对象。尺寸等都是以后设定的Javascript 帆布';drawImage';返回';未找到与提供的签名匹配的函数;,javascript,jquery,html,canvas,html5-canvas,Javascript,Jquery,Html,Canvas,Html5 Canvas,我有两张HTML5画布。我先画一个临时的,然后我想复制到最后一个临时的。 除了drawImage函数外,其他一切似乎都正常工作。drawImage函数很奇怪,因为它同时接受图像和画布。我已经尝试了convert to DatatoUrl()方法,但没有成功 这些是我正在使用的对象。尺寸等都是以后设定的 var paint = $('<canvas/>'); var temp_paint = $('<canvas/>'); temp_ctx = temp_paint[0].
var paint = $('<canvas/>');
var temp_paint = $('<canvas/>');
temp_ctx = temp_paint[0].getContext('2d');
ctx = paint[0].getContext('2d');
这就是我得到的错误:未能对“CanvasRenderingContext2D”执行“drawImage”:未找到与提供的签名匹配的函数
temp\u paint
是jQuery的对象,因此它不能是.drawImage()
第一个参数。您可以改为使用此代码:
ctx.drawImage(temp_ctx.canvas, 0, 0);
已经在谷歌上搜索了多次,但没有找到解决方案。还说,我已经做了该链接中介绍的图像方法。我怀疑这与jQuery和DOM有关。是的,我终于看到您将jQuery的对象作为
.drawImage()
第一个参数传递。请尝试使用temp\u paint[0]
或temp\u ctx.canvas
。非常感谢。temp_ctx.canvas成功了。:)不客气。既然这是正确的答案,要么我把它作为正常答案发布,要么你们可以删除这个问题。你更喜欢哪种方式?正常答案更好:)
ctx.drawImage(temp_ctx.canvas, 0, 0);