javascript - context.drawImage(bufferContext,0,0) 返回类型错误?

标签 javascript jquery dom canvas typeerror

我一直在玩canvas,但偶然发现了一个问题。在阅读 Canvas 时,我发现了几种不同的方法来声明 Canvas 及其上下文,在我尝试实现一个简单的帧缓冲区之前,这两种方法似乎都有效。

function drawToCanvas(){
    var buffer = $("#myBuffer");    
    var canvas = $("#myCanvas");
    var bufferContext = buffer.get(0).getContext("2d");
    var context = canvas.get(0).getContext("2d");

    //var buffer = document.getElementById("myBuffer"); 
    //var canvas = document.getElementById("myCanvas");
    //var bufferContext = buffer.getContext("2d");
    //var context = canvas.getContext("2d");

    bufferContext.fillRect(100,100,100,100);
    context.drawImage(buffer, 0, 0);
}

如果我使用注释掉的行将缓冲区图像绘制到上下文中,它就可以完美工作。但是,如果我使用上面的行,drawImage() 函数会给出 typeError。考虑到我能够很好地使用 JQuery 选择器方法,这让我很困惑,只是 drawImage() 函数让我失败了。

如有任何建议,我们将不胜感激。

最佳答案

当使用jquery选择器时,我猜在drawImage中使用的buffer参数是jquery对象。您可能应该将其更改为 buffer.get(0) ?我自己从未使用过 jquery,但这是我从你的代码的其余部分推断出来的。

关于javascript - context.drawImage(bufferContext,0,0) 返回类型错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9964109/

相关文章:

javascript - 从 parent 到 child 的 react 事件委托(delegate)

javascript - 无法在 jQuery 中获取 DOM 元素

javascript - 在 Internet Explorer 中模拟文本笔画

javascript - "Exited with code 8" meteor 应用示例

javascript - 函数在同一个文件中定义,但在另一个文件中未定义

javascript - 从 AJAX 函数获取变量值到外部

jquery - MVC 和 AJAX 与 JQuery

javascript - 如何在一个 javascript 文件中拥有多个 document.observe(dom :loaded . ..) 函数? (原型(prototype))

javascript - 来自react-bootstrap的ListGroupItem和Button在同一行

javascript - 按键功能在 JavaScript 中不起作用