canvas fillText文字如何换行?

发布于 6 年前作者 caojun16903 次浏览最后编辑 6 年前来自 ask

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

5 回复
pengna
pengna1 楼6 年前

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

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

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

yewei
yewei3 楼6 年前

同问,怎么搞

yeli
yeli4 楼6 年前

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

yang17
yang175 楼4 年前

不知可有找到解决方法?