我在使用以下代码段时遇到问题:
var o = $("#inserted_motive").find("span");
$.contains(document.documentElement, o[0]) ? b.fillText(m, i, h) : b.drawImage(d, i, h, e, f);
var p = a.toDataURL("image/png");
window.open(p)
}), $(function () {
$("#tabs").tabs()
});
出现如下错误:
Uncaught TypeMismatchError: Failed to execute 'drawImage' on 'CanvasRenderingContext2D': The 1st argument provided is either null, or an invalid HTMLImageElement, HTMLCanvasElement or HTMLVideoElement object.
太回答问题了;
$("#creator").click(function () {
var a = document.getElementById("final_image"),
b = a.getContext("2d"),
c = document.getElementById("shirt_main_canvas"),
d = document.getElementById("inserted_image");
b.drawImage(c, 0, 0);
var e = $("#inserted_image").width(),
f = $("#inserted_image").height(),
g = $("#inserted_motive").position(),
h = g.top,
i = g.left,
j = $("#inserted_motive span").css("font-size"),
k = $("#inserted_motive span").css("font-family"),
l = $("#inserted_motive span").css("color"),
m = $("#inserted_motive span").text(),
n = j + " " + k;
最佳答案
你应该检查你的 #inserted_image
在你的 html 中是什么,因为它似乎不是:
- 有效的 HTMLImageElement
- 一个 HTMLCanvasElement
- 一个 HTMLVideoElement 对象
关于javascript - 未捕获的类型不匹配错误 : Failed to execute 'drawImage' on 'CanvasRenderingContext2D' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24225338/