我试图制作一种算法,使图像中某种颜色的所有像素都透明。这是我到目前为止所尝试的:
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)"
这是做正确的方法吗?
答案 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);
}