字体在设置了font-size后,不同字体,或者相同字体不同文字,如中文、英文小写、大写、空格等,字体宽度都不一样。但是canvas提供了measureText方法,可以测量宽度:
.measureText() 方法返回一个关于被测量文本对象的信息(仅限于宽度)
因此我们将文本放入画布,然后计算其宽度,示例代码如下所示:
const text = 'hello world' const font = "bold 12pt arial" const canvas = document.createElement("canvas"); const context = canvas.getContext("2d"); context.font = font; const { width } = context.measureText(text); console.log(width)