SVG 和字体规格
有什么方法可以获取 SVG 中的字体规格吗? 我想要得到:下降、上升、最大高度、前进。
我需要这个来绘制文本和像流程图一样将图形组合在一起。
例如,我需要在文本周围绘制一个框,并从 ex-size(字母“x”的大小)的中间绘制连接线,而不是从框侧的中心绘制连接线。
Is there any means to get font metrics in SVG?
I'd like to get: descent, ascent, max height, advance.
I need this for drawing text & graphics together like in flowcharts.
For example, I need to draw a box around text, and to draw a connector line from the middle of ex-size(size of letter 'x'), and not from the center of the box side.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您具有 DOM 访问权限,那么有许多用于文本元素的 SVG DOM 方法。然后是 getBBox 方法,该方法可用于大多数 svg 元素。
如果您正在处理 SVGFonts,那么数据已经可以作为普通属性以 xml 格式提供,例如 上升、下降 等。
对于您的用例,我建议使用
getBBox
,因为它也可以处理图形元素(如果您想要添加更多东西,而不仅仅是图表中的文本)。If you have DOM access then there are a number of SVG DOM methods for text elements. Then there's the getBBox method which is available on most svg elements.
If you're dealing with SVGFonts, then the data is already available in xml format as normal attributes, e.g ascent, descent etc.
For your use-case I'd recommend
getBBox
, since it can deal with graphic elements too (in case you ever want to add more things than just text to the charts).