如何在 canvas 的 rect 元素的填充模式中设置 padding left 和 top?

How to set padding left and top in fill pattern of canvas's rect element?

我正在尝试使用 FabricJS 模仿 InDesign 图像容器元素的行为。

基本上,我需要的是在 canvas.

中的 Rect 元素的填充图案上添加左侧和顶部填充的选项

这样做的目的是能够创建一个矩形并用图案和颜色填充它,并且在我编辑它时我希望图案从左到右顶部或底部移动。

所以下面代码中的填充实际上有助于填充容器 (rect) 和它的图案之间的空隙,但我不知道如何从左侧和顶部填充它...我试过均匀图案pffsetX 和 Y,但间隙保持不变,没有填充颜色。

http://jsfiddle.net/y96qr5ev/2/

var canvas = new fabric.Canvas('paper');
fabric.Image.fromURL(getImage(), function(img) {
    // img.set('angle', 45);
    // img.scaleToWidth(100);

    var patternSourceCanvas = new fabric.StaticCanvas();
    patternSourceCanvas.setBackgroundColor('red', patternSourceCanvas.renderAll.bind(patternSourceCanvas));
    patternSourceCanvas.add(img);
    patternSourceCanvas.renderAll()
    
    var pattern = new fabric.Pattern({
      source: function() {
        patternSourceCanvas.setDimensions({
          width: img.getWidth(),
          height: img.getHeight()
        });
        patternSourceCanvas.renderAll();
        return patternSourceCanvas.getElement();
      },
      repeat: 'no-repeat'
    });

    pattern.offsetX = 50;
    pattern.offsetY = 50;
    
    const rect = new fabric.Rect({
        left: 400,
        top: 400,
        angle: 0,
        width: 300,
        height: 300,
        fill: pattern,
        objectCaching: false
    });
    canvas.add(rect);
    canvas.setActiveObject(rect);
  });
  
  
  function getImage(){
  return "data:image/png;base64,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";
  }
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.6.0/fabric.min.js"></script>
<canvas width="800" height="800" id="paper"></canvas>

如果您单击上面的 link,您会看到所选区域比红色区域(图案)大得多。

我很乐意得到一些解决方案。 Tnx.

好的。我找到了解决方案。 基本上,我改变了几行:

patternSourceCanvas.setBackgroundColor('red', patternSourceCanvas.renderAll.bind(patternSourceCanvas));
patternSourceCanvas.setBackgroundImage(img, patternSourceCanvas.renderAll.bind(patternSourceCanvas), {
        top: 50,
        left: 50,
        originX: 'left',
        originY: 'top'
    });

而不是

patternSourceCanvas.setBackgroundColor('red', patternSourceCanvas.renderAll.bind(patternSourceCanvas));
patternSourceCanvas.add(img);

其中 topleft 完成工作。