public BufferedImage showBitPlanes(BufferedImage bi, int lv) { int level = 0; switch(level) { case 0: level = 128; break; case 1: level = 64; break; case 2: level = 32; break; case 3: level = 16; break; case 4: level = 8; break; case 5: level = 4; break; case 6: level = 2; break; case 7: level = 1; break; default: return null; } int width = bi.getWidth(); int height = bi.getHeight(); BufferedImage img = new BufferedImage(width, height, bi.getType()); for(int x=0; x<width; x++) for(int y=0; y<height; y++) img.setRGB(x, y, ((bi.getRGB(x, y) & level)/level)*255); return img; }
You need to create an account or log in to post comments to this site.