javascript - 如何在 fabric js 中动态添加组中的对象

标签 javascript html5-canvas fabricjs

1.我想在组中动态添加对象,或者动态克隆对象。 2.我试过但没有循环工作。 3.想要使一组对象呈现在 Canvas 上(由用户在 Canvas 上拖动)

 <script src="js/fabric.js" type="text/javascript"></script>
    <canvas id="canvas" class="canvas" ></canvas>

    <style>
    .canvas {
    border: 1px solid Black;
    width: 1100px;
    height: 1100px;
    }

    </style>

     <script>
        var canvas = new fabric.Canvas('canvas');
   canvas.setWidth(1100);
  canvas.setHeight(1100);



// clear canvas
  canvas.clear();

  // add red rectangl
  canvas.add(new fabric.Rect({
  width: 50, height: 50, left: 50, top: 50, fill: 'rgb(255,0,0)'
}));

  canvas.add(new fabric.Rect({
  width: 50, height: 50, left: 110, top: 50, fill: 'rgb(255,0,0)'
  }));
  canvas.add(new fabric.Rect({
  width: 50, height: 50, left: 170, top: 50, fill: 'rgb(285,0,0)'
  }));


//var clone = obj.clone();
//alert(obj);

items = canvas._objects;

var group = new fabric.Group([
     // canvas.add(obj)
  canvas.items.clone()
//  canvas.item(1).clone(),
//  canvas.item(2).clone()
]);


canvas.clear().renderAll();
canvas.add(group);




    </script>

最佳答案

不确定,但我认为您正在寻找 addWithUpdate

代码:

group.addWithUpdate(new fabric.Rect({
      ...

    }));

有关更多信息,请参阅此 http://fabricjs.com/fabric-intro-part-3

关于javascript - 如何在 fabric js 中动态添加组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33751273/

相关文章:

javascript - 在 ng-repeat 中排序,每第 4 列后行一次

javascript - Fabric JS _updateObjectsCoords 替代方案? (迁移问题到 1.7.9)

javascript - 如何使用 javascript 在 Canvas 中绘制压缩文本?

javascript - Canvas 中的旋转动画

javascript - 可以操纵 HTML5 Canvas CLearRect() 使其看起来像箭头吗?

javascript - 文本对齐在 fabric.js 中无法正常工作

javascript - Fabricjs - 仅在一侧圆 Angular

javascript - 使用 FCM 在前台为浏览器中的每个选项卡接收一个通知

javascript - 为什么调用 $.getScript 而不是直接使用 &lt;script&gt; 标签?

javascript - jQuery $.post 并在生成的 HTML 中搜索