7***@qq.com
7***@qq.com
  • 发布:2019-12-11 16:41
  • 更新:2019-12-11 18:27
  • 阅读:1480

【报Bug】canvas measureText is not a function

分类:uni-app

详细问题描述

let ShareCanvas = uni.createCanvasContext('ShareCanvas', this)
console.log(ShareCanvas.measureText)

返回的是undefined 是不是今天更新的问题

[内容]

重现步骤

[步骤]

[结果]

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ] 729049182

2019-12-11 16:41 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

后续会实现,目前暂不支持。如果你是H5端可以尝试使用原始的canvasContext获取文字尺寸

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

// #ifdef H5  
let canvas = document.createElement('canvas'),  
    ctx = canvas.getContext('2d')  
console.log(ctx.measureText('Hello uni-app'));  
// #endif
  • 7***@qq.com (作者)

    以前版本是可以的 你给的代码是原生的 之前的项目就是用uni.createCanvasContext('ShareCanvas', this)来做的 那如果现在不支持的话 之前做的那就要重新改了 原生的和uni封装的api是不同的

    2019-12-11 17:58

  • 7***@qq.com (作者)

    回复 7***@qq.com: 上一个版本是可以的

    2019-12-11 18:09

  • DCloud_uniCloud_WYQ

    回复 7***@qq.com: 现在修一下,感谢反馈

    2019-12-11 18:24

3***@qq.com

3***@qq.com - 慕尼黑

同上 2.4.2版本是可以的 如果写条件编译 目前项目需要依赖页面上创建好的canvas标签上面的属性 即获取方式为document.getElementById("myCanvas"); 就取不到对象了 按照您给的document.createElement('canvas')形式倒是确实可以 但是对项目而言改动太大了 给lz也提供一个方法 目前我的解决方案是自己实现了一个measureText()方法

  • 7***@qq.com (作者)

    我返回上一个版本发布 你这个方法也ok

    2019-12-11 20:22

该问题目前已经被锁定, 无法添加新回复