canvas fillText文字如何换行?
发布于 5 年前 作者 caojun 16764 次浏览 来自 问答

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

5 回复

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

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
    }
  }
}
  1. 想到一个不得已的方法,限定一行就显示一定字数比如20个,把多余一行的文字分段画出;

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

同问,怎么搞

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

不知可有找到解决方法?

回到顶部