经过测试 canvas 2d 在dpr为3的真机上.canvas 大小设置为:540px*540px,调用 canvasToTempFilePath 就会抛出异常:
canvasToTempFilePath:fail:convert native buffer parameter fail.native buffer exceed size limit.
而540px*540px 实际在屏幕上显示只有很小一块。而现在Android平台很多设备dpr都是3。
为什么不能提供浏览器原生的canvas.toBlob,此时blob已经经过压缩,会比getImageData节省很多内存。
如果我们就可以把blob写入存储。
卧槽,这个问题还没解决啊,绘图都不行啊,750px的都绘制不上
目前似乎只能通过降低dpr的值来处理
遇到了相同的问题
请问解决了吗
麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
代码片段:
https://developers.weixin.qq.com/s/DkD55dmN7gd6
预期结果:
控制台输出 can save 540*540 with dpr:3
实际输出:
canvasToTempFilePath:fail:convert native buffer parameter fail.native buffer exceed size limit.