【发布时间】:2015-08-28 09:38:33
【问题描述】:
有没有办法将一个fabric js画布数据复制到另一个具有fabric js所有功能的fabric js画布
ctx.drawImage(sourceCanvas, x, y, width, height);
此功能仅复制图像而不是第一个画布的数据或功能。
【问题讨论】:
标签: javascript canvas html5-canvas fabricjs
有没有办法将一个fabric js画布数据复制到另一个具有fabric js所有功能的fabric js画布
ctx.drawImage(sourceCanvas, x, y, width, height);
此功能仅复制图像而不是第一个画布的数据或功能。
【问题讨论】:
标签: javascript canvas html5-canvas fabricjs
1.使用fabric.Object.clone()
var _clipboard;
canvasOne.getActiveObject().clone(function(cloned) {
_clipboard = cloned;
});
canvasTwo.add(_clipboard.clone());
在http://fabricjs.com/copypaste查看详细示例
2。序列化/反序列化
var objectConstructor = object.constructor;
var json = object.toObject();
var objectCopy = objectConstructor.fromObject(json);
对于fabric.Image:
var objectCopy = new objectConstructor();
objectCopy.setOptions(json);
objectCopy.setSrc(objectCopy.getSrc());
【讨论】:
只需将源 Canvas 转换为 JSON,然后将该 JSON 渲染为目标 Canvas。
【讨论】: