我希望在>>之前计算具有特定字体的文字的长度。我找到了this stackoverflow的答案,并在我的代码中使用它。这可能很好但是为了工作我需要在绘制应该包含文本作为标签的框之前绘制文本。
这是我的测试代码,它获取文本的长度,并且应该将其用于框宽:
// Draw Label first so we get the min width for the box
if (this.label) {
var text = draw.plain(this.label)
text.move(this.x + 5, this.y + 5);
text.font(cfgText);
var length = document.getElementsByTagName('text')[0].getComputedTextLength());
}
// Draw underlying box
var rect = draw.rect(this.width, this.height);
rect.move(this.x, this.y);
rect.fill(pink);
rect.mouseover(shift);
有没有办法正确计算文本的长度?如果可能的话,我想留在SVG.js上下文。
我认为这个问题可以通过预先计算文本长度或首先绘制文本,获取其长度然后将其拉回前景来解决。
有什么想法吗?