目前,每当我动态设置 fabric.Text 对象的文本时,使用set('text','some random text')函数,宽度似乎会双向增长,即从左侧和右侧。 有没有办法让它从左侧或右侧生长。 我通过明确计算 top_left_x,top_left_y,top_right_x,top_right_y 并使用一些算术逻辑来实现这一目标。
但是有什么内部的fabricJS属性(或类似的东西)可以实现这一点。
例如:在 Kitchensink 演示中,如果添加新的Text对象并修改右下方文本区域中的文本,您将看到文本从右侧向左增长方保持不变。这正是我希望实现的目标。
有人建议吗?
答案 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();
};