未捕获的TypeMismatchError:无法在'CanvasRenderingContext2D'上执行'drawImage'

时间:2014-06-14 23:50:58

标签: javascript jquery html5

我遇到以下代码段问题:

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()
});

出现以下错误:

  

未捕获的TypeMismatchError:无法执行' drawImage' on' CanvasRenderingContext2D':提供的第一个参数是null,或者是无效的HTMLImageElement,HTMLCanvasElement或HTMLVideoElement对象。


也回答了这个问题;

 $("#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;

1 个答案:

答案 0 :(得分:1)

你应该检查你的html中#inserted_image是什么,因为它似乎不是:

  • 有效的HTMLImageElement
  • 一个HTMLCanvasElement
  • HTMLVideoElement对象