2012-04-01 95 views
0

我一直在玩帆布,但偶然发现了一个问题。在画布上阅读时,我发现了几种不同的方法来声明画布和它的上下文,两者似乎都工作,直到我尝试实现一个简单的帧缓冲区。context.drawImage(bufferContext,0,0)返回类型错误?

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()函数使我失败。

任何意见将非常感激。

回答

2

当我使用jquery选择器时,drawImage中使用的参数buffer是jquery对象。您应该将其更改为buffer.get(0)?我从来没有使用过jQuery,但是这是我从其他代码中推断出来的。

+0

这样做,谢谢! – chib 2012-04-01 12:10:01