javascript – Paper.js PointText获取基线坐标而不是左下角

检查此Paper.js
sketch.单击“TEXT”以查看边界框.请注意,我将leading属性设置为与字体大小相同.根据
documentation,默认情况下它是字体大小的1.2倍.

为什么PointText底部有边距空间?如何删除它以使边界框紧紧包裹文本?或者,如何确定文本真实基线的y值,而不是我们目前给出的值?

编辑

底部的“边距”是指具有下行的字母,如q和p.所以这里真正的问题是如何获得PointText基线的y坐标?我特别需要基线,因为这是我们使用的另一个库插入文本的方式,插入需要相同.

最佳答案 间距是正确的.将“TEXT”更改为“Tejas”,您将看到字符“j”中的下行符在它们下方具有相等的间距,大写字符的顶部也是如此.

我不相信有一种方法可以获得PointText项的文本边界.

因此,我认为arthur.sw的建议是最好的答案.我做同样的事情,除非文字很简单,单行,不可编辑.我最终在画布上创建了一个文本框或文本区域并进行了适当的定位.这可能是长期的最佳解决方案;我不确定为什么纸张应该复制浏览器已经处理的所有内容.

有了这个,您将需要相对于正在显示的视图或画布定位文本.你可能想要使用globalToLocallocalToGlobal

这是一个sketch,可以帮助我可视化项目的坐标空间和全局坐标空间之间的关系.

点赞