javascript - 未捕获的类型不匹配错误 : Failed to execute 'drawImage' on 'CanvasRenderingContext2D'

标签 javascript jquery html

我在使用以下代码段时遇到问题:

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/

相关文章:

javascript - css + html 菜单点击框

javascript - 保存条目后,nodejs mongoose 不会返回控制台

javascript - jQuery UI Sortable - 获取当前移动的 div ID

javascript - Chrome最新版本(版本47.0.2526.80 m): navigator. webkitGetUserMedia返回一个没有停止功能的流

javascript - JQuery 从 $.each 到 for 循环

Javascript Raphael SVG map 在 IE 7/8 中加载速度非常慢

javascript - 如何从 google API 检索用户数据?

javascript - jQuery 中更快的循环

html - Bootstrap 3 - 垂直对齐按钮内的字体很棒的图标

html - CSS Grid - 跨度重叠,无法内联