Adding Custom Delete (Back,toFront) Button to Controls

后端 未结 5 1799
悲哀的现实
悲哀的现实 2020-12-30 04:11

I would like to know if there is an easy way to add a delete, bring to front, bring to back function into the existing fabric.js object controls.

A

5条回答
  •  悲哀的现实
    2020-12-30 05:00

    You can try with html buttons. Look at the example:

    http://fabricjs.com/interaction-with-objects-outside-canvas/

    Here is the code example:

        (function() {
      var canvas = this.__canvas = new fabric.Canvas('c');
      fabric.Object.prototype.transparentCorners = false;
      fabric.Object.prototype.originX = fabric.Object.prototype.originY = 'center';
    
      fabric.Canvas.prototype.getAbsoluteCoords = function(object) {
        return {
          left: object.left + this._offset.left,
          top: object.top + this._offset.top
        };
      }
    
      var btn = document.getElementById('inline-btn'),
          btnWidth = 85,
          btnHeight = 18;
    
      function positionBtn(obj) {
        var absCoords = canvas.getAbsoluteCoords(obj);
    
        btn.style.left = (absCoords.left - btnWidth / 2) + 'px';
        btn.style.top = (absCoords.top - btnHeight / 2) + 'px';
      }
    
      fabric.Image.fromURL('../lib/pug.jpg', function(img) {
    
        canvas.add(img.set({ left: 250, top: 250, angle: 30 }).scale(0.25));
    
        img.on('moving', function() { positionBtn(img) });
        positionBtn(img);
      });
    })();
    

提交回复
热议问题