收藏
回答

webgl在iOS下使用canvas.toDataURL()获取URL不对?

我想保存canvas(type=webgl)上的内容为image并保存下来,使用canvas.toDataURL(),在模拟器和Android设备上都可以正常保存图片,在iOS设备上获取到的URL= ’data:‘,没有图片数据内容。

不知道这是系统原因还是使用时需要特别处理?

下面是我获取URL的代码:

```

gl = canvas.getContext("webgl", { preserveDrawingBuffer: true })

let imgUrl = gl.canvas.toDataURL('image/jpeg', 0.5) // 压缩比只在模拟器上生效

```

请大神指点

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

6 个回答

  • 俊超
    俊超
    02-22

    所以这个功能目前解决了吗,我去用toDataURL有拿到数据,但是数据是错误的

    02-22
    有用
    回复
  • 伞乐
    伞乐
    2023-02-27

    2023年了 有大神解决这个问题了么

    2023-02-27
    有用
    回复
  • 一如往常
    一如往常
    2022-10-23

    到现在都没有解决吗

    2022-10-23
    有用
    回复
  • 🔥🔥🔥
    🔥🔥🔥
    2021-12-15

    这个问题什么时候解决?现在试了还是这样,只返回URL= ’data:‘,没有图片数据内容

    2021-12-15
    有用
    回复
  • 成林
    成林
    2020-08-18

    如下代码是在小程序中运行的吗?

    gl = canvas.getContext("webgl", { preserveDrawingBuffer: true })

    let imgUrl = gl.canvas.toDataURL('image/jpeg'0.5// 压缩比只在模拟器上生效



    2020-08-18
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-09-09

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2019-09-09
    有用
    回复 21
    • 朱林涛
      朱林涛
      2019-09-10
      这个代码片段不太好整,有点复杂,我想请问一下,官方角度,canvas.toDataURL()在iOS和Android系统下正常使用是没有区别的是吗?另外,我是在自定义组件中调用的,是否会受这个影响?
      2019-09-10
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-09-10回复朱林涛

      这个在 webgl 下还不支持

      2019-09-10
      回复
    • 朱林涛
      朱林涛
      2019-09-10回复疯狂的小辣椒
      在webgl下只有Android设备支持是吗?那我想在webgl下截取canvas上的内容,需要怎么做呢?目前有没有可行的API或是技术方案?麻烦指点下,多谢!!
      2019-09-10
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-09-10回复朱林涛

      可以用 gl.readPixels 方法获取 canvas 的数据

      2019-09-10
      回复
    • 朱林涛
      朱林涛
      2019-09-10回复疯狂的小辣椒
      这个尝试过,获取到的数据比较大,没法保存为图片
      2019-09-10
      回复
    查看更多(16)
登录 后发表内容
问题标签