blob: 33cda9ce4f395fbe523623ae5a004df66622b5c4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
int nb = 0;
void setup() {
size(512, 256);
}
void draw() {
PImage img = loadImage("lena.png");
img.resize(256, 256);
img.filter(GRAY);
image(img, 0, 0);
image(bitplane(img, nb), 256, 0);
}
void keyPressed() {
if(key == '+' && nb < 7) {
nb++;
} else if(key == '-' && nb > 1) {
nb--;
}
}
PImage bitplane(PImage I, int nb) {
PImage out = I.copy();
out.loadPixels();
int x, r;
for (int i = 0; i < out.pixels.length; ++i) {
x = int(red(out.pixels[i]));
r = (x >> nb) & 1;
out.pixels[i] = color(255*r);
}
out.updatePixels();
return out;
}
|