为了账号安全,请及时绑定邮箱和手机立即绑定

在不访问 DOM 的情况下获取 SVG 中文本的大小

在不访问 DOM 的情况下获取 SVG 中文本的大小

ITMISS 2021-06-22 16:01:30
我想在服务器上创建一个关于如何创建 SVG 元素的指令数组,然后将该数据传递给浏览器以在一个简单的循环中呈现。这很简单,除了我的计算取决于一些文本占用的空间量,我不知道如何获得它,除非通过绘制和使用getBBox(),但这需要一个 DOM。当我想在 SVG 可见之前对其进行计算时,客户端也会出现这个问题。有没有办法做到这一点?仔细想想,node.js 做起来很复杂,尤其是因为它会受到 CSS 的影响,但是如果我们假设字体大小等是在元素本身上指定的,有什么办法吗?请注意,SVG 的内容是完全动态的,字体大小等可由用户动态指定。
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

恐怕这是不可能的。
尤其是在服务器端。
文本渲染在很大程度上不仅取决于字体、大小、行高和其他排版内容,还取决于浏览器甚至是渲染它的操作系统。

为了获得精确的结果,我建议在浏览器中渲染文本并获取它的边界框。


查看完整回答
反对 回复 2021-06-24
  • 1 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信