2012-10-24 30 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),....)