在Node上获取带有标题的SVG文本的宽度

问题描述

我在 Node 上使用 svg.js 和 svgdom 来生成 SVG 文件。这是我的代码

// set up svg.js and svgdom
const { createSVGWindow } = require('svgdom');
const window = createSVGWindow();
const document = window.document;
const { SVG,registerWindow } = require('@svgdotjs/svg.js');
registerWindow(window,document);
const draw = SVG(document.element).size(100,100);

// generate SVG text and title
var title = draw.element('title').words('noun');
var text = draw.text('text').add(title);
var width = text.length();

最后一行在 svgdom/main-require.cjs:3721:38 中抛出 TypeError: cannot read property 'style' of null

这在我在浏览器中执行时有效;关于移动到 Node 和 svgdom 的一些事情会导致它失败。是否有另一种方法可以计算此文本元素的宽度,或将标题附加到文本的其他方法? (标题用于显示悬停时的附加信息。)调用 text.width() 总是返回 0。

我正在使用 svg.js 3.0.16 和 svgdom 0.1.8。我应该在其中一个上打开一个问题吗?如果有,是哪一个

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)