【问题标题】:Uncaught TypeMismatchError: Failed to execute 'drawImage' on 'CanvasRenderingContext2D'未捕获的 TypeMismatchError:无法在“CanvasRenderingContext2D”上执行“drawImage”
【发布时间】:2014-06-15 18:30:02
【问题描述】:

我遇到以下 sn-p 问题:

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:无法在“CanvasRenderingContext2D”上执行“drawImage”:提供的第一个参数为 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;

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-05-27
      • 2016-03-19
      • 2019-12-11
      • 1970-01-01
      • 2019-04-17
      • 2015-06-04
      • 1970-01-01
      • 2015-05-07
      相关资源
      最近更新 更多