Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Fabric js文本限制_Javascript_Jquery_Html_Html5 Canvas_Fabricjs - Fatal编程技术网

Javascript Fabric js文本限制

Javascript Fabric js文本限制,javascript,jquery,html,html5-canvas,fabricjs,Javascript,Jquery,Html,Html5 Canvas,Fabricjs,如何在fabric.js中实现这一点 文本限制: 1) -如果用户在可用文本框中键入过多文本,则不应允许用户输入,并应显示一条消息,告知用户选择不同的消息或查找不同的字体。 找到了答案 请帮我还押2 2) -如果用户键入的消息的侧面文本框中留有大量空间,则文本框的大小应在文本1mm范围内。我想这是在文本框有点边框的情况下。另外请注意,背景图案不会位于文本框下方,这也是如果文本未填充宽度,则需要缩短文本框的另一个原因(以便可以显示更多背景) 3) - 客户总是希望文本框的整个高度最大化,以便字母的

如何在fabric.js中实现这一点

文本限制: 1) -如果用户在可用文本框中键入过多文本,则不应允许用户输入,并应显示一条消息,告知用户选择不同的消息或查找不同的字体。 找到了答案

请帮我还押2

2) -如果用户键入的消息的侧面文本框中留有大量空间,则文本框的大小应在文本1mm范围内。我想这是在文本框有点边框的情况下。另外请注意,背景图案不会位于文本框下方,这也是如果文本未填充宽度,则需要缩短文本框的另一个原因(以便可以显示更多背景)

3) - 客户总是希望文本框的整个高度最大化,以便字母的顶部始终接触顶部,字母的底部始终接触底部,无论它是小写和大写的混合体,也不管字母是否有尾部。
这里有几个例子来解释需要发生的事情(请阅读到列表末尾以便正确理解):
“HELLO”一词-所有字母都会触顶触底
“Hello”一词——“H”和“ll”将触顶触底
“aaaa”一词-即使小写字母会触及顶部和底部
单词“aaah”-“h”将触碰顶部和底部,“aaa”仅触碰底部

“大”一词——因为“g”向下,所以“g”会触底,但“bi”不会触底。这个词实际上会很小,因为“b”会触顶但不会触底,“g”会触底但不会触顶,“i”也不会触顶。

对于问题2,你需要捕捉事件

然后在函数内部,您应该获得文本框的宽度和实际文本的宽度,并相应地调整文本框的宽度,如

canvas.on('text:editing:exited',   onTextExited)
onTextExited = function(event)
{
var onemm = 10; //Need to calculate what one mm is in pixels
var canvasObj=event.target;
if(canvasObj.width > canvasObj._getTextWidth())
{
//Adjust the width of object 
canvasObj.width = canvasObj._getTextWidth() + onemm;
canvasObj.setCoords();
}

}

在另一个书堆里有一些类似于他的东西,谢谢。我编辑了。。第二点和第三点呢?这些在fabric.js中是可能的吗?