我们最近在绘制canvas的时候,发现在安卓手机上有时候会出现canvas绘制出来的样式会错乱的问题。
在安卓手机上点多几次都会复现。在IOS手机下没有这个问题。
文档中的setFontSize改成了ctx.font,但是在手机上无法展示效果,文档也找不到在哪里。
通过搜索才发现是跳转到之前的文档。但是之前的文档也没找到fillStyle这个属性,只有setFillStyle。
希望官方能解答一下这个关于canvas的问题。
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | canvas | 客户端 | 7.0.0 | 2.4.3 |
5 个回答
初步发现,在canvas的draw之后的回调中,应该是draw的第一笔刚画上去就执行了回调,而不是等draw之后渲染完才执行回调。
所以调用wx.canvasToTempFilePath时,苹果手机由于性能较高,绘画渲染速度快,所以直接调用wx.canvasToTempFilePath不会出现样式错乱问题,但是安卓机由于渲染速度慢,所以可能在渲染完成前就将canvas转成图片了,导致样式错乱。
解决方案:在安卓机上的wx.canvasToTempFilePath延迟300ms~500ms执行,在苹果手机上正常执行。
一直有问题,偶现
我也遇到了:第一张是正常效果,第二、三张就乱了。Android和iOS都出现过,不一定和性能有关!
遇到同样问题,期待官方尽快解决
遇到同样的问题,安卓偶尔出现