使文本在调用集上单向增长('text','some value')

时间:2013-04-15 12:30:55

标签: fabricjs

目前,每当我动态设置 fabric.Text 对象的文本时,使用set('text','some random text')函数,宽度似乎会双向增长,即从左侧和右侧。 有没有办法让它从左侧或右侧生长。 我通过明确计算 top_left_x,top_left_y,top_right_x,top_right_y 并使用一些算术逻辑来实现这一目标。

但是有什么内部的fabricJS属性(或类似的东西)可以实现这一点。

例如:在 Kitchensink 演示中,如果添加新的Text对象并修改右下方文本区域中的文本,您将看到文本从右侧向左增长方保持不变。这正是我希望实现的目标。

有人建议吗?

1 个答案:

答案 0 :(得分:2)

这是因为默认原点是对象的中心。所以你需要将“originX”设置为“left”。正如您在Kintchensink source file

中看到的那样

document.getElementById('add-text').onclick = function() {
  var textSample = new fabric.Text(text.slice(0, getRandomInt(0, text.length)), {
    left: getRandomInt(350, 400),
    top: getRandomInt(350, 400),
    fontFamily: 'helvetica',
    angle: getRandomInt(-10, 10),
    fill: '#' + getRandomColor(),
    scaleX: 0.5,
    scaleY: 0.5,
    fontWeight: '',
    originX: 'left',
    hasRotatingPoint: true
  });
  canvas.add(textSample);
  updateComplexity();
};