我正在尝试从表单输入向画布添加文本。是否有一种自动换行的方法,以适应画布内部的fabricjs文本?
以下是我的fabric文本: ```html
以下是我的fabric文本: ```html
我正在尝试从表单输入向画布添加文本。 是否有一种自动换行的方法,以适应画布内部的fabricjs文本?
我试图解决3个问题:
1.如果字符串超过给定空间,则文字不会尊重“text.left”位置。
2.我无法转义换行符,因此\n与文本一起写入。
3.在更新文本之前完全忽略中心对齐。
这是我的fabric文本:
```var text = new fabric.Text($('#myInput').text(), {
left: 10,
top: 12,
width: 230,
textAlign: 'center',
fontSize: 28,
fontFamily: 'Helvetica Nue, Helvetica, Sans-Serif, Arial, Trebuchet MS'
});
一个演示展示了该问题。
如何插入换行符?如何将文本块居中对齐?如何在不进行编辑的情况下在画布上定位文本块?
编辑:
我发现我的问题部分是由于使用文本输入造成的。我将其更改为textarea元素,现在可以轻松插入换行符。奇怪的是,当我这样做时居中也有效。
我想唯一的问题是当文本超过给定的文本块宽度时,文本不会自动换行。所以,它不是换行并添加行,而是延伸到画布之外。
是否有一种方法可以进行单词换行类型的排版,还是必须计算字符并插入换行符?