收藏
回答

canvas代码执行顺序

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug canvas 客户端 6.6.7.1321 2.2.4

canvas代码执行顺序问题:

请官方解释一下,canvas的画图代码执行是异步的吗,为什么会偶先下面的代码在前面的代码执行之前就执行了。

比如画一段字,默认字体大小28,我设置大小38,然后再画字。结果会出现偶尔字的大小仍然是28,这肯定不是我想要的执行结果,canvas又没有需要等待异步的代码,为什么不按代码顺序同步执行一句接一句的?

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

11 个回答

  • 卢霄霄
    卢霄霄
    2018-09-10

    贴代码贴代码~

    2018-09-10
    赞同
    回复 3
    • 木头
      木头
      2018-09-11


      2018-09-11
      赞同
      回复
    • 卢霄霄
      卢霄霄
      2018-09-11回复木头

      scale的计算在哪里?截图呢

      2018-09-11
      赞同
      回复
    • 木头
      木头
      2018-09-11回复卢霄霄

      开始画图之前就生成好了放在变量里了,再说如果是scale的问题,字体也不是显示28而是36的一半18

      2018-09-11
      赞同
      回复
  • 杨寓钦。
    杨寓钦。
    2018-09-14

    我也遇到了~ ,我这边字的颜色大小变化比较多,几乎每次进入渲染出来都不一样~

    2018-09-14
    赞同
    回复 2
    • 木头
      木头
      2018-09-14

      是的,主要真机会出现这些问题

      2018-09-14
      赞同
      回复
    • 杨寓钦。
      杨寓钦。
      2018-09-14

      我这边使用 canvas 是要画分享出去的卡片,我这边用将一个 canvas 拆成多个小 canvas,分别渲染一小块,生成图片,最后用几个小图片渲染完整的 canvas~ ,我这边是三个小图片最后合成,成本比较高,你可以看看适不适合你的情况~

      2018-09-14
      赞同
      回复
  • 王子凡🐾
    王子凡🐾
    07-31

    请问解决了吗,我也遇到这种问题了

    07-31
    赞同
    回复 3
    • 木头
      木头
      07-31
      没下文了
      07-31
      赞同
      回复
    • 王子凡🐾
      王子凡🐾
      07-31回复木头
      你每画一步用ctx.save()保存一步,生成图片的方法在draw()回调里调用,加个延迟,亲测有效。
      07-31
      赞同
      回复
    • 木头
      木头
      07-31
      谢了
      07-31
      赞同
      回复