收藏
回答

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) // 压缩比只在模拟器上生效

```

请大神指点

最后一次编辑于  09-09
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    09-09

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

    09-09
    赞同
    回复 10
    • 朱林涛
      朱林涛
      09-10
      这个代码片段不太好整,有点复杂,我想请问一下,官方角度,canvas.toDataURL()在iOS和Android系统下正常使用是没有区别的是吗?另外,我是在自定义组件中调用的,是否会受这个影响?
      09-10
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      09-10回复朱林涛

      这个在 webgl 下还不支持

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

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

      09-10
      回复
    • 朱林涛
      朱林涛
      09-10回复社区技术运营专员-娇华
      这个尝试过,获取到的数据比较大,没法保存为图片
      09-10
      回复
    查看更多(5)
问题标签