微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在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 举报,一经查实,本站将立刻删除。