收藏
回答

canvas 2d 保存临时文件对高dpr设备不友好?

经过测试 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写入存储。


回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2019-11-28

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-11-28
    赞同
    回复 6
    • #define true false
      #define true false
      2019-11-28
      魅族16t  flyme8.0.0.A .
      代码片段:
      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.
      2019-11-28
      回复
    • #define true false
      #define true false
      2019-11-28
      需要Android真机才能复现
      2019-11-28
      回复
    • sly
      sly
      03-04回复#define true false
      请问解决了吗
      03-04
      回复
    • ꫞潭꫞
      ꫞潭꫞
      03-11
      遇到相同的问题了,请问最后是怎么解决的呢?
      03-11
      回复
    • 圆
      03-26
      遇到相同问题,报错占用内存过大,请问怎么解决?
      03-26
      回复
    查看更多(1)
  • worm
    worm
    7小时前

    目前似乎只能通过降低dpr的值来处理

    7小时前
    赞同
    回复
  • Oasis
    Oasis
    03-10

    遇到了相同的问题

    03-10
    赞同
    回复
  • sly
    sly
    03-04

    请问解决了吗

    03-04
    赞同
    回复
登录 后发表内容
问题标签