收藏
回答

canvas fillText文字如何换行?

问题模块
API和组件

h5中的canvas可以通过context.measureText(text) 函数来实现换行,小程序中的canvas如何实现文字换行?

最后一次编辑于  2017-05-04  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

5 个回答

  • Grace Lee
    Grace Lee
    2017-07-24

    不知可有找到解决方法?

    2017-07-24
    赞同
    回复
  • Grace Lee
    Grace Lee
    2017-07-25

    1. 想到一个不得已的方法,限定一行就显示一定字数比如20个,把多余一行的文字分段画出;

    2. 发现WeZRender,在文字间加"\n"可以实现换行,但也是一样要在适当的地方插入换行符使其换行

    2017-07-25
    赞同
    回复
  • archerLj
    archerLj
    2017-07-25

    可以的,当初也这么干过,感觉这种方式不干净利索,后来就没用了

    2017-07-25
    赞同
    回复
  • 张阳
    张阳
    2017-11-07

    同问,怎么搞

    2017-11-07
    赞同
    回复
  • 🍎
    🍎
    2017-12-20

    写了个拆行的方法将就用一下

    function canvasWorkBreak (maxWidth, fontSize, text) {
      const maxLength = maxWidth / fontSize
      const textLength = text.length
      let textRowArr = []
      let tmp = 0
      while (1) {
        textRowArr.push(text.substr(tmp, maxLength))
        tmp += maxLength
        if (tmp >= textLength) {
          return textRowArr
        }
      }
    }


    2017-12-20
    赞同
    回复