在处理3.2中设置图像颜色键

时间:2017-04-15 20:05:10

标签: java image-processing processing

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

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)"这是做正确的方法吗?

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

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);
}