Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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_Fabricjs_Textedit - Fatal编程技术网

Javascript fabric.js-文本下划线和线宽

Javascript fabric.js-文本下划线和线宽,javascript,fabricjs,textedit,Javascript,Fabricjs,Textedit,我在fabric.js中的文本中添加了下划线,其工作原理如下图所示。但是下划线离文本有点远,我更改了lineHeight属性,下划线可以更接近文本,但问题是选择控件的高度也发生了更改。请看下面的图片 第一个,我更改了lineHeight=0.2,添加了下划线,很好,但是选择控件变得很奇怪。第二,我使用了默认的lineHeight,但是下划线与文本有点远。那么,如何在没有选择问题的情况下为文本添加下划线呢 我测试了一下,发现这个问题是因为originX='left',和originY='top',

我在fabric.js中的文本中添加了下划线,其工作原理如下图所示。但是下划线离文本有点远,我更改了
lineHeight
属性,下划线可以更接近文本,但问题是选择控件的高度也发生了更改。请看下面的图片

第一个,我更改了
lineHeight=0.2
,添加了下划线,很好,但是选择控件变得很奇怪。第二,我使用了默认的
lineHeight
,但是下划线与文本有点远。那么,如何在没有选择问题的情况下为文本添加下划线呢

我测试了一下,发现这个问题是因为
originX='left'
,和
originY='top'
,如果
originX='center'
没有问题


尝试此代码,希望它能更好地为您服务

<input type="button" id="undrline" value="Underline" class="underline"  >

$("#undrline").click(function() {
alert("underline");
var obj = canvas.getActiveObject();
if (!obj) return;
obj.setTextDecoration('underline');
canvas.renderAll();
});

$(“#undrline”)。单击(函数(){
警告(“下划线”);
var obj=canvas.getActiveObject();
如果(!obj)返回;
对象setTextDecoration(“下划线”);
canvas.renderAll();
});

线宽直接影响控制框;基本上是
fontSize*lineHeight
。没有内置的方法来修改装饰线的垂直偏移。但您的示例中的行太低,看起来像某种bug。请制作一个简单的JSFIDLE来说明这个问题。这里是-,github中的问题报告在这里-因此,行高不会被解释为文本行的高度,而是更像一个比例因子。否则,fontSize*lineHeight获取控制框高度是错误的。此错误已在最新开发版本中修复。