将fabric js canvas数据复制到另一个画布

时间:2015-08-28 09:38:33

标签: javascript canvas html5-canvas fabricjs

有没有办法将fabric js canvas数据复制到另一个具有fabric js功能的fabric js canvas?

 ctx.drawImage(sourceCanvas, x, y, width, height);

此功能仅复制图像而不是第一个画布的数据或功能。

2 个答案:

答案 0 :(得分:0)

只需将源Canvas转换为JSON,然后将该JSON呈现给Destination Canvas。

答案 1 :(得分:0)

<强> 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());