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()??