Javascript 如何在p5.js中访问PGraphics像素

Javascript 如何在p5.js中访问PGraphics像素,javascript,processing,p5.js,Javascript,Processing,P5.js,我试图从p5.js中的PGraphics实例访问像素,但即使在调用loadPixels()之后,数组还是空的 以下是我尝试过的: var buffer; function setup() { createCanvas(100,100); pixelDensity(1); buffer = createGraphics(100,100); buffer.background(128); } function draw() { image(buffer,0,0); } f

我试图从p5.js中的PGraphics实例访问像素,但即使在调用
loadPixels()
之后,数组还是空的

以下是我尝试过的:

var buffer;

function setup() {
  createCanvas(100,100);
  pixelDensity(1);

  buffer = createGraphics(100,100);
  buffer.background(128);
}

function draw() {
  image(buffer,0,0);
}

function mouseDragged(){
  buffer.ellipse(mouseX,mouseY,3,3);
  buffer.loadPixels();
  console.log(buffer.pixels);//expecint pixels array, getting empty array
}

是否可以使用p5.js访问PGraphics中的像素?如果是,如何解决?

这似乎是一个bug:

其他相关的错误和错误

已使用最新版本(2016年8月17日起的0.5.3版)进行了修复

如果您像我一样使用p5.js编辑器,那么显然它使用的是旧版本的库。您可以下载最新版本并将其复制到草图文件夹中。这似乎在编辑的两次运行之间一直存在,这有点吓人,但可能在幕后发生了一些神奇的事情


无论如何,您的代码在更新到最新版本后仍能正常工作。

太棒了,谢谢Kevin!我应该检查一下问题清单。我确实也在使用p5.js编辑器。我已经更新了项目文件夹,还更新了编辑器中的库(
p5.app/Contents/Resources/app.nw/mode_assets/p5/empty_project/
)@GeorgeProfenza很乐意提供帮助!奇怪的是,对于我(在Windows 10上)来说,我刚刚替换了项目文件夹中的
p5.js
文件,但现在在我关闭编辑器并再次打开它之后,这个文件似乎一直存在。也许它会秘密地将文件复制到编辑器库位置。这对你一点影响都没有,只是觉得很奇怪。快乐编码!