// the input it must be a b/w image
1
2 public BufferedImage showBitPlanes(BufferedImage bi, int lv)
3 {
4 int level = 0;
5
6 switch(level)
7 {
8 case 0:
9 level = 128;
10 break;
11 case 1:
12 level = 64;
13 break;
14 case 2:
15 level = 32;
16 break;
17 case 3:
18 level = 16;
19 break;
20 case 4:
21 level = 8;
22 break;
23 case 5:
24 level = 4;
25 break;
26 case 6:
27 level = 2;
28 break;
29 case 7:
30 level = 1;
31 break;
32 default:
33 return null;
34 }
35
36 int width = bi.getWidth();
37 int height = bi.getHeight();
38
39 BufferedImage img = new BufferedImage(width, height, bi.getType());
40
41 for(int x=0; x<width; x++)
42 for(int y=0; y<height; y++)
43 img.setRGB(x, y, ((bi.getRGB(x, y) & level)/level)*255);
44
45 return img;
46 }