编程语言
首页 > 编程语言> > javascript-在measureText时附加“ m”的目的是什么

javascript-在measureText时附加“ m”的目的是什么

作者:互联网

在画布中测量文本时,通常会看到如下代码:

w = c.measureText(d.text + "m").width

https://github.com/jasondavies/d3-cloud/blob/master/d3.layout.cloud.js#L233

人们为什么在测量文本时会加上“ m”.

解决方法:

我的猜测是,这里使用它来添加等于m字符宽度的额外填充.

在JavaScript中,对字符串使用运算符可将其连接起来(如果尚未将其转换为字符串):

"Abc" + "m" // "Abcm"
1 + "m" // "1m"

这意味着,如果d.text的值为“ Hello,world!”,则d.text“ m”将等于:

"Hello, world!m"
w = c.measureText("Hello, world!m").width

假设m个字符的宽度为5个像素,则此方法的替代方法是:

w = c.measureText(d.text).width + 5

但是,我认为无论d.text是什么,不一定都具有固定的字体大小,因此使用固定值可能会引起问题.

标签:d3-js,html5-canvas,javascript
来源: https://codeday.me/bug/20191122/2060703.html