Javascript 从画布中排除要保存到json的元素(fabric.js)

Javascript 从画布中排除要保存到json的元素(fabric.js),javascript,json,fabricjs,Javascript,Json,Fabricjs,我正在使用 var jsonToPHP= JSON.stringify(canvas.toObject(['id','name'])); 将所有内容从画布保存到JSON 我还将背景图像添加到画布 document.getElementById('imgLoader').addEventListener("change", function (e) { var file = e.target.files[0]; var reader = new FileReader(); read

我正在使用

 var jsonToPHP= JSON.stringify(canvas.toObject(['id','name']));
将所有内容从画布保存到JSON

我还将背景图像添加到画布

document.getElementById('imgLoader').addEventListener("change", function (e) {   var file = e.target.files[0];   var reader = new FileReader();   reader.onload = function (f) {
    var data = f.target.result;                    
    fabric.Image.fromURL(data, function (img) {
    var oImg = img.set({left: 0, top: 0, angle: 00,width:canvas.width, height:canvas.height,}).scale(1);
    oImg.set('selectable', false);
    canvas.add(oImg).renderAll();
    var dataURL = canvas.toDataURL({format: 'png', quality: 0.8});
    });   };   reader.readAsDataURL(file);

});
但我想排除要保存给JASON的背景图像

我在谷歌上搜索:

从画布中排除要保存到json fabric.js的元素

我还有下一步:

在fabricjs文档中,有一个对象类调用的属性 “excludeFromExport”

一旦设置为true,它应该完全满足您的要求

www.fabricjs.com/docs

我去了:

来源:fabric.js,第12350行,不包括Export

现在呢

我的知识是从中得到的结果要少一些。有没有人能提供更多的信息:也许一个例子

谢谢您

演示

document.getElementById('imgLoader').addEventListener(“更改”,函数(e){
var file=e.target.files[0];
var reader=new FileReader();
reader.onload=函数(f){
var数据=f.target.result;
fabric.Image.fromURL(数据、函数(img)){
var oImg=img.set({
左:0,,
排名:0,
角度:00,,
宽度:canvas.width,
高度:canvas.height
});
setBackgroundImage(oImg).renderAll();
var dataURL=canvas.toDataURL({
格式:“png”,
质量:0.8
});
});
};
reader.readAsDataURL(文件);
});
var canvas=new fabric.canvas('c'{
serializeBgOverlay:false//将背景数据序列化为JSON
});
canvas.backgroundColor='绿色';
画布。添加(新织物。圆圈)({
左:50,,
前50名,
半径:50,
笔划:“红色”,
填充:“”
}))
canvas.renderAll();
//重写_ToObject方法,如果要序列化背景,请在画布初始化时将serializeBgOverlay设置为true
fabric.StaticCanvas.prototype.\u toObjectMethod=函数(methodName,propertiesToInclude){
风险值数据={
对象:this.\u to对象(方法名、属性包括)
};
如果(此.serializeBgOverlay){
extend(data,this.u serializebgpoverlay(methodName,propertiesToInclude));
}
fabric.util.populateWithProperties(此、数据、propertiesToInclude);
返回数据;
}
函数exportToJson(){
log(canvas.toJSON());
}
画布{
边框:2件点蓝色;
}



ToJson
谢谢。今天我在做其他事情。我没有收到任何关于我的电子邮件地址的通知,对我问题的回复被添加了。我明天会检查。这个问题已被报告为问题跟踪器上的一个用户的错误,并计划进行修复。您不需要对此进行特殊修复。@AndreaBogazzi两天前还不知道发生了什么。巧合,我不明白这里发生了什么。