时间:2021-05-25
有时候我们在使用Canvas绘制一段文本时,会需要通过measureText()方法获取文本的宽度,例如:
创建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获取文本的宽度,方法如下:
function measureText (text, fontSize=10) { text = String(text); var text = text.split(''); var width = 0; text.forEach(function(item) { if (/[a-zA-Z]/.test(item)) { width += 7; } else if (/[0-9]/.test(item)) { width += 5.5; } else if (/\./.test(item)) { width += 2.7; } else if (/-/.test(item)) { width += 3.25; } else if (/[\u4e00-\u9fa5]/.test(item)) { //中文匹配 width += 10; } else if (/\(|\)/.test(item)) { width += 3.73; } else if (/\s/.test(item)) { width += 2.5; } else if (/%/.test(item)) { width += 8; } else { width += 10; } }); return width * fontSize / 10;}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在小程序中使用Echart图表EchartUI构建(柱状图)Echart假数据Echart动态设置数据柱状图UI示例//Echartconfig,包括initd
刚开始学微信小程序,有说的不对的地方大家可以提出!首先体验示例小程序在微信中扫描下面的二维码即可体验EChartsDemo:下载为了兼容小程序Canvas,我们
教程展示了如何在Spring应用程序中使用GenericApplicationContext。在该示例中,我们创建了一个SpringBoot控制台应用程序。Sp
WeZRender是一个微信小程序Canvas增强组件,基于HTML5Canvas类库ZRender。使用WXML:canvas>JS:varwezrender
方式1:在pygame中使用pygame.event.get()方法捕获键盘事件,使用这个方式捕获的键盘事件必须要是按下再弹起才算一次。示例示例:foreven