簡體   English   中英

將Fabric JS畫布數據復制到另一個畫布

[英]copy a fabric js canvas data to another canvas

有沒有辦法將Fabric JS畫布數據復制到具有Fabric JS的所有功能的另一個Fabric JS畫布

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

此功能僅復制圖像,而不復制第一個畫布的數據或功能。

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渲染為Destination Canvas。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM