Fabric.js:为组分配背景颜色

时间:2017-03-20 16:51:17

标签: javascript colors background grouping fabricjs

我正在尝试为组设置背景颜色而不影响其包含的对象。

到目前为止,我的代码看起来像这样:

var canvas = new fabric.Canvas('canvas');

var helloText = new fabric.Text('hello', {
  fontSize: 30,
  top: 10, left: 10,
  originX: 0, originY: 0
});

var worldText = new fabric.Text('world!', {
  fontSize: 40,
  top: 50, left: 100,
  originX: 0, originY: 0
});

var group = new fabric.Group([helloText, worldText], {
    selectionBackgroundColor: 'red',
    backgroundColor: 'blue'
});

canvas.add(group);

可以找到jsFiddle版本here

从我的代码中可以看出,我已经尝试了属性backgroundColor,但它只影响包含的对象。我想达到类似于selectionBackgroundColor的效果。

1 个答案:

答案 0 :(得分:1)

轻微调整,但这应该为你做(相关代码):

var text = new fabric.Group([helloText, worldText], {});
var textBoundingRect = text.getBoundingRect();
var background = new fabric.Rect({
  top: textBoundingRect.top,
  left: textBoundingRect.left,
  width: textBoundingRect.width,
  height: textBoundingRect.height,
  fill: 'blue'
});
var group = new fabric.Group([background, text], {});

您的JSFiddle已更新,https://jsfiddle.net/rekrah/92ss3d86/