我希望能够将当前画布的状态保存到服务器端数据库,可能作为JSON字符串,然后再将其恢复loadFromJSON.通常,使用以下方法可以轻松完成:
var canvas = new fabric.Canvas();
function saveCanvas() {
// convert canvas to a json string
var json = JSON.stringify( canvas.toJSON() );
// save via xhr
$.post('/save', { json : json }, function(resp){
// do whatever ...
}, 'json');
}
Run Code Online (Sandbox Code Playgroud)
然后
function loadCanvas(json) {
// parse the data into the canvas
canvas.loadFromJSON(json);
// re-render the canvas
canvas.renderAll();
// optional
canvas.calculateOffset();
}
Run Code Online (Sandbox Code Playgroud)
但是,我还使用内置Object#set方法在我添加到画布的结构对象上设置了一些自定义属性:
// get some item from the canvas
var item = canvas.item(0);
// add misc …Run Code Online (Sandbox Code Playgroud)