我一直在玩帆布,但偶然发现了一个问题。在画布上阅读时,我发现了几种不同的方式来声明画布及其上下文,两者似乎都有效,直到我尝试实现一个简单的帧缓冲区。
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()函数让我失望。
任何建议都会非常感激。
答案 0 :(得分:2)
使用jquery选择器时,我想,buffer
中使用的drawImage
参数是jquery对象。您应该将其更改为buffer.get(0)?我自己从未使用过jquery,但这是我从其他代码中推断出来的。