1

我的画布很少有可调整大小并支持拖放的图像。

保存画布后,我正在做

    var stage = Kinetic.Node.create(json, 'container');

如果我只是在画布上添加一个图像,它会很好。但如果我添加超过 1 个,我会得到多个图像。就像如果我添加 2 个不同的图像,我会得到 4 个图像,每个图像 2 个。如果我加 3,我会得到 3。依此类推。

这是一个小片段

   var stage = Kinetic.Node.create(json, 'container');
   var images = stage.get('.image');
   console.log(images) 

在 console.log 中,我得到了同一图像的多个 json 结果。休息我只是使用 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;
  })();
 } 

任何人都知道为什么会这样吗?

4

0 回答 0