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

标签 javascript spacing paperjs

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

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

编辑

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

最佳答案

间距正确。将“TEXT”更改为“Tejas”,您会看到字符“j”中的下部与大写字符的顶部具有相等的间距。

我认为没有办法获取 PointText 项目的文本边界。

因此,我认为 arthur.sw 的建议是最好的答案。除非文本非常简单、单行且不可编辑,否则我也会这样做。我最终在 Canvas 上创建了一个文本框或文本区域并将其适当定位。从长远来看,这可能是最好的解决方案;我不确定为什么 paper 应该复制浏览器已经处理的所有内容。

有了这个,您将希望相对于正在显示的 View 或 Canvas 定位文本。您可能需要使用 globalToLocallocalToGlobal

这是一个 sketch这有助于我可视化项目的坐标空间与全局坐标空间之间的关系。

关于javascript - Paper.js PointText 获取基线坐标而不是左下角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35281006/

相关文章:

html - 如何调整工具栏中元素之间的间距?

Android Studio 制表符/缩进空间设置不起作用(卡在 2 个空格缩进处)

javascript - Parse.js onResize() 与矩形

javascript - 在 FabricJS 中创建 "Tools"?

javascript - 如何求和json数组

javascript - 在输出中使用 AJAX/多个 sql 语句显示外键描述而不是值

css - 如何使 css 适合我的内容而没有空格

javascript - 基于 4 个点变换 Canvas 上的图像

javascript - 使用 Supertest,我可以创建一个默认设置一些 header 的替代请求吗?

javascript - 在定义的延迟之前执行超时