收藏
回答

开发工具中 canvasContext.draw 的callback回调不执行

问题模块 框架类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 canvasContext.draw 工具 6.5.3 1.9.1

开发工具版本 1.02.1803150(上一个版本表现正常)

基础库最低版本 1.9.1

问题代码如下

const ctx = wx.createCanvasContext('avatar')
ctx.setFillStyle('red')
          ctx.fillRect(10, 10, 150, 100)
          ctx.draw()
          ctx.fillRect(50, 50, 150, 100)
          //ctx.drawImage(files[0], left, top, size, size, 0, 0, 400, 400)
          ctx.draw(true,
            ()=>{
              console.log('绘制完成')
              wx.canvasToTempFilePath({
                x: 0,
                y: 0,
                width: 400,
                height: 400,
                fileType:'jpg',
                quality:.8,
                canvasId: 'avatar',
                success: (res)=> {
                  handle([res.tempFilePath])
                }
              }, ctx)
            }
          )
          console.log('drawEnd')

在手机上表现正常

在开发工具中只能输出drawEnd ,没有绘制完成回调

最后一次编辑于  2018-03-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

15 个回答

  • 黄思程
    黄思程
    2018-03-21

    麻烦给个相关的代码片段(https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/minicode.html),我们定位下问题

    2018-03-21
    赞同
    回复
  • 随心而去🍂Shirne
    随心而去🍂Shirne
    2018-03-21

    wechatide://minicode/ESrjf5ma6lYv

    2018-03-21
    赞同
    回复
  • 随心而去🍂Shirne
    随心而去🍂Shirne
    2018-03-21

    更新开发工具到1.02.1803210 问题已解决

    2018-03-21
    赞同
    回复
  • 我想换昵称
    我想换昵称
    2018-05-05

    在开发小程序插件的过程中,需要截图,但是这个draw方法一直不执行,这怎么解??

    这个方法在我们小程序中是可以用的,但是在插件开发的过程中就不能用了,难道插件中不能用这个方法吗??

    2018-05-05
    赞同
    回复
  • 黄思程
    黄思程
    2018-05-08

    4楼的基础库是哪个版本?开发工具还是微信上?

    2018-05-08
    赞同
    回复 1
    • 我想换昵称
      我想换昵称
      2018-05-14
      想问一下这是个bug吗?这个问题一直存在啊,影响功能啊
      2018-05-14
      赞同
      回复
  • 我想换昵称
    我想换昵称
    2018-05-08

    基础库版本  1.9.98

    工具上面和微信上面都不能用

    2018-05-08
    赞同
    回复
  • 我想换昵称
    我想换昵称
    2018-05-09

    @黄思程  这说的这个是个bug吗?很急哦,一直卡在这里了。。。。

    2018-05-09
    赞同
    回复
  • 我想换昵称
    我想换昵称
    2018-05-10

    官方的同志们回答一下喽。

    2018-05-10
    赞同
    回复 3
    • 黄思程
      黄思程
      2018-05-14
      请更新到最新版的开发工具和微信试试
      2018-05-14
      赞同
      回复
    • 我想换昵称
      我想换昵称
      2018-05-14回复黄思程
      工具的版本已经是最新的了 基础库设置的也是2.0.0的 但是drawImage仍然没有作用啊 我这仍然报canvasToTempFilePath: fail canvas is empty 这是为什么????
      2018-05-14
      赞同
      回复
    • 我想换昵称
      我想换昵称
      2018-05-14
      soga 解决了 谢谢官方人员 虽然只是让我更新这个然后更新那个吧 不过还是要谢谢的
      2018-05-14
      赞同
      回复
  • 马晓强
    马晓强
    2018-05-15

    同求解,我也是这里不执行draw的回调,捉急!不过我的不是插件,是组件

    在页面中是可以正常执行,但是在组件中不执行

    2018-05-15
    赞同
    回复 2
    • 我想换昵称
      我想换昵称
      2018-05-21
      wx.createCanvasContext(canvasId, this) 在自定义组件下,第二个参数传入组件实例this,以操作组件内 <canvas/> 组件 你传了吗
      2018-05-21
      赞同
      回复
    • 马晓强
      马晓强
      2018-05-21回复我想换昵称
      传入this完美解决
      2018-05-21
      赞同 11
      回复