检查这个Paper.js 素描。单击“文本”以查看边框。注意,我将leading
属性设置为与字体大小相同。根据文档,默认情况下它是字体大小的1.2倍。
为什么在PointText底部有空白?如何将其移除,以便边界框将文本紧紧包装起来?或者,如何确定文本的真正基线的y值,而不是我们当前得到的值呢?
编辑
底部的“边距”是指有下降的字母,如q和p,所以这里的真正问题是如何得到PointText基线的y坐标?我需要基线,因为这是我们使用插入文本的另一个库,而插入必须是相同的。
发布于 2016-02-10 22:42:44
间隔是正确的。将"TEXT“改为"Tejas”,您将看到字符"j“中的下降符与大写字符顶部的空格相等。
我不相信有一种方法可以获得PointText项的文本边界。
因此,我认为阿尔苏的建议是最好的答案。我也这样做,除非文本非常简单,单行,不可编辑。最后,我在画布上创建一个文本框或文本区域,并对其进行适当的定位。从长远来看,这可能是最好的解决方案;我不知道为什么纸应该复制浏览器已经处理的所有内容。
这样,您将希望将文本相对于正在显示的视图或画布定位。您可能需要使用globalToLocal和localToGlobal
这里有一个素描,它帮助我可视化项目的坐标空间和全局坐标空间之间的关系。
发布于 2016-02-09 14:25:43
根据您的约束条件,也许您的问题可以通过左上角的排列来解决,并且总是将引导设置为FontSize的95.5%。对于大多数文本来说,这应该会让你非常接近。
https://stackoverflow.com/questions/35281006
复制相似问题