【发布时间】:2017-03-18 13:48:12
【问题描述】:
我有带有任意数量画布的表单。填写完成后,我想将其复制到与之交互的任何其他画布上。
我目前有
当一个画布关闭时,我会保存画布数据
sourceCanvas = $(this).find('canvas')[0];
然后当下一个加载时(它们处于模态)
我尝试像这样填充它
var destCtx = $(this).find('canvas')[0].getContext('2d');
destCtx.drawImage(sourceCanvas, 0, 0);
我收到了这个错误
未捕获
TypeError: 无法执行'drawImage' 'CanvasRenderingContext2D':提供的值不是类型 '(CSSImageValue or HTMLImageElement or HTMLVideoElement or HTMLCanvasElement or ImageBitmap or OffscreenCanvas)'
('canvas')[0] 是不是抓错了?我应该在画布元素中得到其他东西吗?
谢谢!
【问题讨论】:
-
我敢打赌你的
this没有指向你期望的地方 -
如果您能提供完整的代码而不是只提供部分代码,我们或许能更好地帮助您。在我看来,
sourceCanvas听起来像是在调用 drawImage 时超出了范围或类似情况(错误说 drawImage 是 CanvasRenderingContext2D,所以它似乎已正确设置)
标签: javascript jquery html canvas