为了账号安全,请及时绑定邮箱和手机立即绑定

抗锯齿=假阻碍读取在MacOS上使用野生动物园的像素

抗锯齿=假阻碍读取在MacOS上使用野生动物园的像素

蓝山帝景 2022-09-29 16:38:08
我使用“阅读像素()”来阅读网页画布上的像素颜色。我无法读取像素时,当反化设置为 false 以获取上下文选项。我可以在野生动物园/ MacOS,铬,火狐和野生动物园/ iOS上阅读以下行。const gl = canvas.getContext('webgl', {'preserveDrawingBuffer':true, 'antialias':true});但是我无法在野生动物园/ MacOS上阅读以下内容,但可以在铬,火狐和野生动物园/ iOS上阅读。const gl = canvas.getContext('webgl', {'preserveDrawingBuffer':true, 'antialias':false});添加行:控制台输出 Uint8 数组 [0, 0, 0, 0],但像素有颜色。是不是有问题 与 Safari/MacOS 或我是否需要任何选项的野生动物园/MacOS ?我可以用苹果浏览器/MacOS读取像素颜色,抗锯齿=假吗?对不起,我的英语不好,谢谢。
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

代码段中发布最小存储库(如果需要调试帮助)

这在苹果和iPhone上的野生动物园中适用于我


function test(antialias) {

  const gl = document.createElement('canvas').getContext('webgl', {

    preserveDrawingBuffer: true,

    antialias,

  });

  gl.clearColor(1, 0.5, 0.25, 1);

  gl.clear(gl.COLOR_BUFFER_BIT);

  const pixel = new Uint8Array(4);

  gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel);

  log(JSON.stringify(gl.getContextAttributes(), null, 2));

  log('pixel:', pixel);

}


function log(...args) {

  const elem = document.createElement('pre');

  elem.textContent = args.join(' ');

  document.body.appendChild(elem);

}


test(false);

test(true);


查看完整回答
反对 回复 2022-09-29
  • 1 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信