2012-10-24 58 views
1

我想將圖像從一個畫布複製到另一個畫布。我見過一個答案說,一個簡單的方法來做到這一點是:canvas.drawImage(canvas,0,0)獲取類型錯誤

var Scanvas = $("#sourceCanvas"); 

var Scontext = Scanvas.get(0).getContext("2d"); 

var Dcanvas = $("#destinationCanvas"); 

var Dcontext = Scanvas.get(0).getContext("2d"); 

//draw something in Scanvas 

Dcontext.drawImage(Scanvas, 0 ,0); 

但是,每當我試試這個我一直得到一個類型錯誤。 我使用的瀏覽器是Google Chrome的最新版本,所以我不認爲這是問題所在。

+0

應該是:'VAR Dcontext = Dcanvas.get(0).getContext( 「2D」);' – Shmiddty

+0

目前您正試圖將源畫布上畫上自己。 – Shmiddty

+0

閱讀這個問題http://stackoverflow.com/questions/4405336/how-to-copy-contents-of-one-canvas-to-another-canvas-locally –

回答

0

您正在使用jQuery對象作爲drawImage()的第一個參數。

它需要是一個純粹的DOM對象。

您可以通過調用get()來訪問jQuery中的底層DOM對象,如果在jQuery選擇中只有一個對象(如註釋中提到的那樣),則會特別獲取(0)。

DContext.drawImage(Scanvas.get(0),....)