收藏
回答

canvas如何计算文字的宽度

问题模块
API和组件

类似H5中的measureText函数, 小程序是否能提供一个?或者是已经有代替的?由于全角/半角字体的宽度计算问题,不提供的话,很难计算出相对准确的宽度

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

10 个回答

  • 黄思程
    黄思程
    2018-03-26

    @让周飞  另外你这边是在用工具的远程调试吗?如果是的话,是已知问题,这个近期会修复

    2018-03-26
    赞同
    回复
  • 黄思程
    黄思程
    2018-03-26

    是在工具上还是在客户端上?麻烦提供一下机型和代码片段

    2018-03-26
    赞同
    回复
  • LastLeaf
    LastLeaf
    2018-01-09

    你好,后续版本会支持该特性,请关注小程序的功能更新,谢谢!

    2018-01-09
    赞同
    回复
  • LastLeaf
    LastLeaf
    2017-09-19

    你好,这是一个已知问题,我们会在后续版本中进行改善,敬请关注。

    2017-09-19
    赞同
    回复
  • 让周飞
    让周飞
    2018-03-27

    是已知问题:关于measureText远程真机调试的问题

    2018-03-27
    赞同
    回复
  • 让周飞
    让周飞
    2018-03-25

    @LastLeaf

    现在文档上说 基础库 1.9.90 开始支持

    我的 SDK版本1.9.91,但表现为一会报错一会好


    报错信息:Cannot read property 'width' of undefined

    目测是sdk里面报的错,因为我这么写也报错

    const metrics = context.measureText(text)

    const width = metrics ? metrics.width : 0


    看 sdk 里 complete: function(e) {t = {width: e.width || 0}}

    e 不存在?


    2018-03-25
    赞同
    回复
  • 小马💎 AN
    小马💎 AN
    2018-01-16

    @LastLeaf 我们在做一款类似 Excel 表格的小程序,整个表格都是基于 canvas 画出来的,文字的自动换行非常依赖 measureText 方法,否则没法计算文本宽度,就没法实现换行,基本上也就没法在小程序里实现我们的应用了。


    我们已经有了 H5 版本,使用体验非常好,现在在迁移到小程序。Html 版本就是用 canvas 画的表格,现在小程序版本卡在这里,只能等待新版支持这个特性了。


    我们做了很多调研,纯 Javascript 是没法准确计算文本宽度的,很多英文都是非等宽字体,没法计算。


    希望能尽快支持。静候佳音!


    2018-01-16
    赞同
    回复
  • then
    then
    2018-01-09

    过了这么久了

    2018-01-09
    赞同
    回复
  • 万黎
    万黎
    2017-12-29

    请问这个api有了吗

    2017-12-29
    赞同
    回复
  • ekse
    ekse
    2017-12-28

    mark

    2017-12-28
    赞同
    回复