有时候我们在使用Canvas绘制一段文本时,会需要通过measureText()
方法获取文本的宽度,例如:
创建canvas标签
1 | <canvas id="canvas"></canvas> |
获取一段文本的宽度
1 | var canvas = document.getElementById('canvas'); |
如上所示,measureText
返回的其实是一个TextMetrics
对象,它包含了文本的宽度,MDN上的解释如下:
The CanvasRenderingContext2D.measureText() method returns a TextMetrics object that contains information about the measured text (such as its width for example).
在微信小程序现在的版本(v2.13.7)中,小程序的canvas还不支持measureText
,所以我自己写了个类似于measureText
方法,通过canvas获取文本的宽度,方法如下:
1 | function measureText (text, fontSize=10) { |