Javascript 在Dynamic js中重新加载stage.toJSON()时获取重复图像

Javascript 在Dynamic js中重新加载stage.toJSON()时获取重复图像,javascript,image,html,html5-canvas,kineticjs,Javascript,Image,Html,Html5 Canvas,Kineticjs,我的画布上几乎没有可调整大小并支持拖放的图像 保存画布后,我正在做一个 var stage = Kinetic.Node.create(json, 'container'); 如果我只是在画布上添加一个图像,效果会很好。 但是如果我添加超过1个,我会得到多个图像。 比如,如果我添加两个不同的图像,我会得到4个图像,每个图像2个。 如果我加3,我得到3,依此类推 这里有一个小片段 var stage = Kinetic.Node.create(json, 'container');

我的画布上几乎没有可调整大小并支持拖放的图像

保存画布后,我正在做一个

    var stage = Kinetic.Node.create(json, 'container');
如果我只是在画布上添加一个图像,效果会很好。 但是如果我添加超过1个,我会得到多个图像。 比如,如果我添加两个不同的图像,我会得到4个图像,每个图像2个。 如果我加3,我得到3,依此类推

这里有一个小片段

   var stage = Kinetic.Node.create(json, 'container');
   var images = stage.get('.image');
   console.log(images) 
在console.log中,我得到了同一个映像的多个json结果。 Rest我只是使用src加载图像

   for(i=0;i<images.length;i++)
   {  
   //function to induce scope
   (function() {
   var image = images[i];

   console.log(images[i])
  var width = images[i].attrs.width;
  var height = images[i].attrs.height; 
  var imageObj = new Image();
  imageObj.onload = function() {
      image.setImage(imageObj);
       image.getLayer().draw();
    };
  imageObj.src = image.attrs.src;
  })();
 } 

for(i=0;我需要查看更多代码与EliteOctagon相同--需要查看更多代码。但是由于for循环正在为图像中的每个图像执行set+draw[]数组,看起来每次添加新映像时都会错误地调用for循环。实际上代码太大了..所以不知道添加什么和不添加什么..所有内容都是相互关联的。我在json本身中得到了多个映像..甚至在for循环之前..所以问题应该是我在哪里保存映像并执行stage.toJSON()??