收藏
回答

使用canvas.fillText()实现文本超出宽度自动换行,开发工具与真机预期结果不一致?

需求:canvas文本生成图片,超出一定宽度自动换行

解决思路:循环遍历字符串,通过计算长度进行字符截取,并使用fillText()生成

结果:开发工具上功能正常实现。真机调试时一旦文本包含数字,换行功能失败

问题关键点:输入文本包含数字/输入纯数字时开发工具功能正常真机调试无法达到预期结果

以下为关键代码截图:

回答关注问题邀请回答
收藏

3 个回答

  • 罗梅光
    罗梅光
    01-06

    偶尔也会效果不如预期,中间文本偶尔效果异常。

    01-06
    赞同
    回复
  • 杭州弧途科技有限公司
    杭州弧途科技有限公司
    2019-12-30

    https://developers.weixin.qq.com/community/develop/article/doc/000ac686c5c5506f18b87ee825b013

    2019-12-30
    赞同
    回复
  • 卢霄霄
    卢霄霄
    2019-12-27

    为什么是能整除160呢。。

    2019-12-27
    赞同
    回复 4
    • 张远智
      张远智
      2019-12-27
      你好,160是自己定义的一个文本宽度,意思是字符串一旦超过160为一行,这个数字换成其他都可以实现的
      2019-12-27
      回复
    • 卢霄霄
      卢霄霄
      2019-12-27回复张远智
      你不是说超过160吗 为啥你实际是对160取整呢
      2019-12-27
      回复
    • 张远智
      张远智
      2019-12-27回复卢霄霄
      这个数字作为一个标识,0<文本宽度<160,160<文本宽度<320,320<文本宽度<480...以此为一段长度进行截取呀~
      2019-12-27
      回复
    • 卢霄霄
      卢霄霄
      2019-12-30回复张远智
      那你应该除以160啊。。比如,你前一个宽度是158,加了一个字变成162了 你换行不
      2019-12-30
      回复
登录 后发表内容
问题标签