时间:2019-05-04 来源:小程序工厂
今天我也遇到了同样的问题,根据两次渲染存在有时间差的现象,我使用setTimeout 模拟延时调试了下,发现如果不在30ms内绘制完的话,就出现你描述中的问题;(看了下文档没找到具体原因)
解决方案:
使用离屏方式,例如:
//多余代码省略,
var ctx = canvas.getContext('2d')//上屏
var lip = wx.createCanvas()
var lipCtx = lip.getContext('2d')
lipCtx.fillStyle = "#d6bd9f"
lipCtx.font = "18px Arial"
lipCtx.fillText("胜", 100, 200)
setTimeout(function(){
lipCtx.fillStyle = "#d6bd9f"
lipCtx.font = "18px Arial"
lipCtx.fillText("胜",200, 200)
ctx.drawImage(lip, 0, 0)
}, 1000)