【发布时间】:2015-11-26 21:21:52
【问题描述】:
var canvas = window._canvas = new fabric.Canvas('ImgCanvas');
function makeallImage(){
for (var v = 0; v < json.length; v++){
convertImgToBase64(v, "png");
console.log(v);
}
}
function convertImgToBase64(number, outputFormat){
canvas.loadFromJSON(json[number], canvas.renderAll.bind(canvas), function(){
interval = setInterval(function() {
toImg(outputFormat);
canvas.clear();
clearInterval(interval);
}, 1000);
});
}
function toImg(outputFormat){
var s = document.getElementById("last_Image");
var url = canvas.toDataURL();
var newImg = document.createElement("img"); // create img tag
newImg.src = url;
newImg.width = 380;
newImg.height = 400;
s.appendChild(newImg);
}
我有多个 json 对象,我想将它们全部转换为图像,我只想使用 1 个画布来创建这些图像。它必须使用 loadFromJSON。
但我的代码只创建了最后一个对象,并且还不断循环,我不知道为什么。谁可以帮我这个事?有可能吗?还是从画布创建多个图像的好方法?
任何建议或帮助,我将不胜感激。
请检查我的演示。 按下按钮后向下滚动以查看图像和无限循环。 感谢。 Demo
【问题讨论】:
标签: canvas html5-canvas fabricjs