收藏
回答

基础库2.6.4以后版本无法获取像素点信息

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小游戏 Bug WebGLRenderContext.getPixels 客户端 7.0 2.6.4

当前 Bug 的表现(可附上截图)



- 预期表现



- 复现路径

把基础改为2.6.4以后的版本进行编译调试


- 提供一个最简复现 Demo

demo下载地址:

链接:https://pan.baidu.com/s/1djsZj9i2nlUbAndtSVNOKA 

提取码:ez6u 


/**

            * 获取像素信息

            */

WebGLRenderContext.prototype.getPixels = function (x, y, width, height, pixels) {

var gl = this.context;

gl.readPixels(x, y, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixels);

};

这个获取像素的webgl API 在2.6.2(包括这个版本)之前的版本是正常的,2.6.4版本之后的版本获取的像素点值全是0。


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

2 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2019-08-06

    如果使用了开放数据域,无法使用 readPixels

    2019-08-06
    有用
    回复 4
    • 橄榄枝
      橄榄枝
      2019-08-06
      好吧,我明白了,谢谢你。但是这种处理方式不好吧,让有些开发者真正想用都不方便。
      2019-08-06
      回复
    • 小程序/小游戏开发-Link
      小程序/小游戏开发-Link
      2019-08-07回复橄榄枝
      主要是有安全风险
      2019-08-07
      回复
    • 大西瓜
      大西瓜
      2020-02-15
      开放域可以暂时关闭吗?
      2020-02-15
      回复
    • LJ
      LJ
      2023-11-17
      开放域可以暂时关闭吗?如果能判断到主域把所有数据还回来,或者子域能控制销毁给出去的数据,感觉应该能支持一下的吧。不然带复杂模型内容的截图保存功能,即使用离线的canvas也很难做到,可以说没法实现了。
      2023-11-17
      回复
  • 小游戏运营专员 - 宏
    小游戏运营专员 - 宏
    2019-07-19

    你好,反馈已收到,我们核实下,有进展会同步。

    2019-07-19
    有用
    回复 4
登录 后发表内容