canvas html5绘制成上下文

时间:2011-03-28 10:41:21

标签: html5 canvas

我可以将所有内容绘制到上下文中,然后将其与画布相关联吗? 例如,我想创建10个上下文,然后在画布中逐个绘制它们

1 个答案:

答案 0 :(得分:0)

这是一个有趣的想法,但不,你做不到。您无法创建独立于画布的新上下文,也无法为画布指定上下文。

您可以做的是动态创建10个画布(您不必将它们附加到文档中,因此它们将不可见),然后在需要时将一个画布替换为另一个画布。例如:

var canvas = document.getElementsByTagName('canvas')[0];
var frames = [];
for (var i=0; i<10; ++i){
  var c = frames[i] = document.createElement('canvas');
  c.width = canvas.width; c.height = canvas.height;
  var ctx = c.getContext('2d');
  // draw what you want here
}

var frame = 0;
// Cycle through the canvases at 15fps
setInterval(function(){
  var c = frames[++frame % frames.length];
  canvas.parentNode.replaceChild( c, canvas );
  canvas = c;
},1000/15);