Html 如何使用一个画布元素作为另一个画布元素的背景?

Html 如何使用一个画布元素作为另一个画布元素的背景?,html,canvas,Html,Canvas,我正在以下网站上学习HTML5画布教程: . 在本教程中,他们说您可以使用画布元素作为另一个画布元素的背景。我已经试着用下面的html页面来做到这一点。不幸的是,chrome中的调试器表示加载资源失败。我在函数draw2()中引用源画布对象的方式是否正确 帆布测试 函数绘图() { var ctx=document.getElementById('tutorial').getContext('2d'); ctx.translate(0,document.getElementById('tuto

我正在以下网站上学习HTML5画布教程: . 在本教程中,他们说您可以使用画布元素作为另一个画布元素的背景。我已经试着用下面的html页面来做到这一点。不幸的是,chrome中的调试器表示加载资源失败。我在函数draw2()中引用源画布对象的方式是否正确


帆布测试
函数绘图()
{
var ctx=document.getElementById('tutorial').getContext('2d');
ctx.translate(0,document.getElementById('tutorial').height);
ctx.刻度(1,-1)
//创建渐变
var lingrad=ctx.createLinearGradient(0,0,0150);
lingrad.addColorStop(0,#fff');
lingrad.addColorStop(0.5'#66CC00');
lingrad.addColorStop(0.5,#fff');
lingrad.addColorStop(1,#00ABEB');
var lingrad2=ctx.createLinearGradient(0,50,0,95);
lingrad2.addColorStop(0.25,'rgba(0,0,0');
lingrad2.addColorStop(0.75,#000');
//为填充和笔划样式指定渐变
ctx.fillStyle=lingrad;
ctx.strokeStyle=lingrad2;
//画形状
ctx.fillRect(10,10130130);
ctx.strokeRect(50,50,50,50);
}
函数draw2()
{
ctx=document.getElementById('canvas').getContext('2d');
img=新图像();
img.onload=函数()
{
ctx.drawImage(img,0,0);
}
img.src=document.getElementById('tutorial');
}
这是对canvas元素的测试




好的,我刚刚找到了问题的答案

退出Draw2()中的函数后,我需要将img.src设置为以下值:

img.src = document.getElementById('tutorial').toDataURL();

它的作用是返回画布元素的png图像的base64编码数据字符串。

好的,我刚刚找到了问题的答案

退出Draw2()中的函数后,我需要将img.src设置为以下值:

img.src = document.getElementById('tutorial').toDataURL();

它的作用是返回画布元素的png图像的base64编码数据字符串。

您的解决方案有点正确,但您使它变得比必须的更复杂

你所要做的就是这样,没有任何爱好:

var tut = document.getElementById('tutorial');
ctx.drawImage(tut,0,0); // just put in the canvas you want to draw!

如果你需要更多的细节,你的解决方案是正确的,但是你让它变得比必须的更复杂

你所要做的就是这样,没有任何爱好:

var tut = document.getElementById('tutorial');
ctx.drawImage(tut,0,0); // just put in the canvas you want to draw!
如果你需要更多的细节