收藏
回答

安卓canvas绘制顺序

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug Canvas 客户端 Android 6.6.6.1300 2.0.5


怀疑canvas绘制顺序有问题


代码片段里

上面是canvas

中间是重新绘制按钮

下面是wx.canvasToTempFilePath导出的图片


点击多几次按钮,会出现样式不按照代码表现,样式错乱,并且画布和图片不一致的情况


其他类似问题

Canvas连续fillText样式不一致

canvas绘制顺序在安卓上有bug

小程序里面的canvas是异步的?


希望官方尽快定位并且解决

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

5 个回答

  • 娇华
    娇华
    2018-05-10

    你好,请提供一下出现问题的机型和微信版本

    2018-05-10
    赞同
    回复
  • 今天走路
    今天走路
    2018-05-10

    机型是小米5, 微信版本是6.6.6, 安卓7.0, MIUI 9.5

    2018-05-10
    赞同
    回复
  • 今天走路
    今天走路
    2018-05-10

    模拟器上是正常的, 真机我的小米5不行

    2018-05-10
    赞同
    回复
  • 乐高5+2
    乐高5+2
    2018-06-14

    我也不行

    2018-06-14
    赞同
    回复
  • WXIAN
    WXIAN
    2018-07-31

    我排查了好几天了,终于找到问题了。是draw回调的问题。安卓机正常绘图不会出现所谓的样式错乱问题,是最后draw用wx.canvasToTempFilePath 来导出图片的时候就错乱了。 主要是draw 回调无法等 canvas 完全绘制完毕 再调用wx.canvasToTempFilePath。  所以我在回调那里 加个了定时器 延迟100ms 再导出图片,发现不会再错乱了。 这大概也是小程序的一个坑吧

    2018-07-31
    赞同
    回复 5
    • 今天走路
      今天走路
      2018-07-31

      这样吗, 好像当时我也对` wx.canvasToTempFilePath` 加过`setTimeout` 也不行, 不过不是很确定

      2018-07-31
      回复
    • WXIAN
      WXIAN
      2018-07-31

      我现在不会出现这种情况了。 你要在draw 回调那里 加个定时器 在写wx.canvasToTempFilePath

      2018-07-31
      回复
    • WXIAN
      WXIAN
      2018-07-31回复今天走路

      我现在不会出现这种情况了。 你要在draw 回调那里 加个定时器 在写wx.canvasToTempFilePath。 还是不行你每操作一步就直接调用draw绘画出来,一步一步画出来就保证前面的不会出错了,画笔样式每次都重新赋值给他

      2018-07-31
      回复
    • 今天走路
      今天走路
      2018-07-31

      好的, 3q

      2018-07-31
      回复
    • 为了地球
      为了地球
      2018-12-13回复WXIAN

      有用 感谢

      2018-12-13
      回复