Javascript KineticJS创建画布

Javascript KineticJS创建画布,javascript,kineticjs,Javascript,Kineticjs,我对JavaScript/Canvas和KineticJS都是新手 我知道有可能创造出这样的画布和舞台- <div id="container"></div> <script src="http://www.html5canvastutorials.com/libraries/kinetic-v4.3.0-beta2.js"></script> <script> var stage = new Kin

我对JavaScript/Canvas和KineticJS都是新手

我知道有可能创造出这样的画布和舞台-

    <div id="container"></div>
    <script src="http://www.html5canvastutorials.com/libraries/kinetic-v4.3.0-beta2.js"></script>
    <script>
      var stage = new Kinetic.Stage({
        container: 'container',
        width: 578,
        height: 200
      });
    </script>

var阶段=新的动力学阶段({
容器:'容器',
宽度:578,
身高:200
});
但我想知道,如果我已经有了画布,那么我将如何用它创造一个舞台呢?所以像这样的事情

<canvas id="myCanvas"></canvas>
<script src="http://www.html5canvastutorials.com/libraries/kinetic-v4.3.0-beta2.js"></script>
<script>
    //How do I create a Kinetic.stage of the #myCanvas?
</script>

//如何创建#myCanvas的动感舞台?

这个怎么样:

创造一个新的舞台

创建一个新层

创建与舞台大小相同的新图像

将图像的图像源设置为myCanvas

注意:我没有测试下面的代码,但应该可以+/-调整

var myCanvasImg=new Kinetic.Image({
      x: 0,
      y: 0,
      image: document.getElementById("myCanvas").getContext("2d").toImageURL(),
      width: stage.getWidth(),
      height: stage.getHeight()
    });
将图像添加到图层,并将图层添加到舞台


砰…我的画布内容的新阶段

我想你误解我了。我希望初始化我的Kinetic阶段,但是我不想将阶段创建到container div中,而是给它一个名为myCanvas的现有画布。我不认为答案会这么复杂,只是我是一个新手,没有足够正确地解释这个问题。我很抱歉。如果你不明白我说的话,请务必要求澄清。注意:myCanvas完全是空的。这并不是说我想把它的内容复制到舞台上。一点也不复杂……不能像你建议的那样用KineticJS完成!好吧,除非把源代码拆开;)我想做的是,我应该有一个对画布本身的引用,以便在KineticJS之外使用。有没有办法从Kinetic.Stage中获取画布及其上下文?请记住,一个舞台是多个层的容器,每个层都是一个单独的画布。因此,对于任何特定层,var context=myLayer.getContext()将从该层获取上下文。然后context.canvas将为您获取父画布。但是…从context.canvas返回的是对父画布的只读引用。