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

时间:2016-08-22 13:53:34

标签: 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);
}

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

是否可以使用p5.js访问PGraphics中的像素?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:2)

这似乎是一个错误:https://github.com/processing/p5.js/issues/1403

其他相关错误herehere

使用最新版本(2016年8月17日起版本0.5.3)修复。

如果您正在使用像我这样的p5.js编辑器,那么显然使用旧版本的库。您可以下载最新版本并将其复制到草图文件夹中。这似乎在编辑器的运行之间持续存在,这有点可怕,但也许幕后会有一些魔法。

无论如何,在更新到最新版本后,您的代码按预期工作。