收藏
回答

canvas文本长度测试api(measureText)遇到回车换行失效

问题模块 问题类型 API/组件名称 AppID 操作系统 微信版本 基础库版本
企业微信小程序 Bug CanvasContext.measureText(string text) wx66eee464102fd102 iOS v1.02.1904090 1.2.0

CanvasContext.measureText(string text)

遇到回车换行的文本,api返回的width值为回车换行之前的文本宽度

(真机有问题,开发者工具没有问题)

最后一次编辑于  07-31
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    07-31

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    07-31
    赞同
    回复
  • tomgou
    tomgou
    07-31
    const ctx = wx.createCanvasContext('canvas')
     
    // test
     
    const text = '123\r\n123'
     
    for (let i = 1, len = text.length; i < len; i++) {
     
      console.log(i, ctx.measureText(text.substring(0, i)).width)
     
    }

    具体机型:  iphone6

    企业微信版本号: 2.8.9

    系统版本号: 12.3.1

    07-31
    赞同
    回复 2
    • 邱一欢
      邱一欢
      07-31

      你都换行了,宽度不是应该就是换行的宽度吗? 高度应该是2行的高度了。 你绘图的时候把\r\n去掉再显示不就可以了。

      07-31
      回复
    • tomgou
      tomgou
      08-01
      文字自动换行不是问题, 我只是抛出这个API在真机上的bug
      08-01
      回复