![](/img/trans.png)
[英]Fabric.js - Exclude specific object from being saved using JSON.stringify();
[英]Stringify only one object in Fabric.js
我正在使用fabricJS。 这是一个很棒的绘图库。
var data = JSON.stringify(canvas);
以上命令用于以JSON
格式获取所有对象及其属性。 但是,我只想stringfy一个对象。
例如。 使用布料创建矩形
var rec = new fabric.Rect({
left: mouse_pos.x,
top: mouse_pos.y,
width: 75,
height: 50,
fill: 'white',
stroke: 'black',
strokeWidth: 3,
padding: 10
});
canvas.add(rec);
我想要得到的JSON
仅此对象(矩形)被添加到画布,而不是JSON
整个画布被渲染。 可能类似于var data = JSON.stringfy(rec);
。 有没有办法这样做,因为我想通过套接字发送添加到画布的最新对象,而不是整个画布对象,因为JSON对象的大小,整个画布对象反过来会消耗不必要的带宽。
是的你可以! :)
var rect = new fabric.Rect({
left: mouse_pos.x,
top: mouse_pos.y,
width: 75,
height: 50,
fill: 'white',
stroke: 'black',
strokeWidth: 3,
padding: 10
});
canvas.add(rect);
// get last item
var obj = canvas.item(canvas.size() - 1);
// stringify only one object
var json = JSON.stringify(obj);
您不能仅将选项对象转换为JSON吗? 然后,您可以通过套接字发送它,在接收器上获取JSON,将其解析并应用于fabric.Rect
函数以在fabric.Rect
绘制矩形。
var options = {
left: mouse_pos.x,
top: mouse_pos.y,
width: 75,
height: 50,
fill: 'white',
stroke: 'black',
strokeWidth: 3,
padding: 10
};
var rec = new fabric.Rect(options);
canvas.add(rec);
var yourData = JSON.stringify(options); // turns your options object into JSON
// ...rest of your code, that sends it through sockets...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.