如何修复文本框的大小并动态减小字体大小,如果文本变大,文本框?是的,这里存在类似的问题,但它仅适用于一行文本。
我想实现这个目标:(来自imgflip meme编辑器的示例)
https://i.stack.imgur.com/SmaXL.gif
我尝试了以下方法:
let text = new fabric.Textbox(box.text, {
top: box.top,
left: box.left,
width: box.width,
});
if (text.width > box.width) {
text.fontSize *= box.width / (text.width + 1);
text.width = box.width;
}
if (text.height > box.height) {
text.fontSize *= box.height / (text.height + 1);
text.height = box.height;
}
canvas.add(text);
这样,字体大小将按文本框的宽度或高度更改的比率减小。但这有时会导致文本变得非常小,因为文本不会尽可能很好地换行。字体大小和换行需要以某种方式找到最佳效果。有什么想法吗?谢谢!
墨色风雨
相关分类