我的画布很少有可调整大小并支持拖放的图像。
保存画布后,我正在做
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;
})();
}
任何人都知道为什么会这样吗?