收藏
回答

小程序 iOS 真机下webgl toDataURL方法返回‘data:,’

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug Canvas.toDataURL 微信iOS客户端 7.0.21 2.14.4

老问题了,我看前年的帖子就说已经修复了,但是至今iOS无法使用,而且API 的调用方法并不是用Canvas实例,而是使用canvas 实例获取的context 的canvas来调用toDataURL()。

const yourWebglCanvas = whereYouGetYourCanvas()
const yourWebglCtx = yourWebglCanvas.getContext('webgl')
yourWebglCtx.canvas.toDataURL('image/png', 1) // iOS 真机只能拿到了data:, 

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

1 个回答

  • 丹丹
    丹丹
    2021-01-27

    我也遇到了,试了gl.readPixels,也不行

    请问你是怎么解决这个问题的?

    2021-01-27
    有用
    回复 3
    • 黄坤
      黄坤
      2021-02-01
      readPixel然后canvas.putImageData写入到2d canvas,在保存到本地,模拟器会报文件过大的warning,但实机跑起来还行。导出的图可能会上下颠倒,2d canvas里面ctx.scale(1, -1) 应该可以解决。
      2021-02-01
      回复
    • ??
      ??
      2021-10-17回复黄坤
      请问你们最终怎么解决的呢,可以通过readPixel拿到webgl数据吗
      2021-10-17
      回复
    • 小伟
      小伟
      2021-11-10回复??
      https://developers.weixin.qq.com/community/develop/article/doc/0008c83aebc56873929bdbeaa5f413
      用 readPixels 可以 webgl 截图,可以看上面的代码片段,iOS 上 antialias 需要设置为 false。
      2021-11-10
      回复
登录 后发表内容
问题标签