处理3.2中设置图像colorkey

Setting image colorkey in processing 3.2

我正在尝试制作一种算法,使图像中某种颜色的所有像素都透明。这是我到目前为止尝试过的:

void setup() {
  PImage img;
  img = loadImage("img.png");
  if (color(img) == color(255) {
    alpha(img) = 0;
  }
  image(img, 0, 0);
}

但我收到错误消息 The function color() expects paramters like "color(int)" 执行此操作的正确方法是什么?

尝试这样的事情:

PImage set_colorkey (PImage img, color colorkey) {
  PImage new_img = img.get();
  new_img.loadPixels();
  for (int i = 0; i < new_img.width*new_img.height; i++) {
    if (new_img.pixels[i] == colorkey) {
      new_img.pixels[i] = color(255, 1);
    }
  }
  new_img.updatePixels();
  return new_img;
}

void setup() {
  background(255, 0, 0);
  PImage img = loadImage("img.png");
  img = set_colorkey(img, color(255));
  image(img, 0, 0);
}