2012-04-01 92 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