牛魔王的故事
您可以创建多个canvas元素,而无需将它们附加到文档中。这些将是你的图层:然后随心所欲地做任何事情,最后只需使用drawImageon 在目标画布上以正确的顺序渲染其内容context。例:/* using canvas from DOM */var domCanvas = document.getElementById('some-canvas');var domContext = domCanvas.getContext('2d');domContext.fillRect(50,50,150,50);/* virtual canvase 1 - not appended to the DOM */var canvas = document.createElement('canvas');var ctx = canvas.getContext('2d');ctx.fillStyle = 'blue';ctx.fillRect(50,50,150,150);/* virtual canvase 2 - not appended to the DOM */ var canvas2 = document.createElement('canvas')var ctx2 = canvas2.getContext('2d');ctx2.fillStyle = 'yellow';ctx2.fillRect(50,50,100,50)/* render virtual canvases on DOM canvas */domContext.drawImage(canvas, 0, 0, 200, 200);domContext.drawImage(canvas2, 0, 0, 200, 200);这里有一些代码:https://codepen.io/anon/pen/mQWMMW