// the behavior for the image handling Image { {{ byte [][] im;}} {{ Image(String fname, int h, int w) { height = h; width = w; im = readImageFromFile(fname, h, w); maxPixelVal = caculateMax(); } int caculateMax() { int max = 0; for (int y=0; y width || y > height) return true; return false; } void setPixel(int x, int y, int val) { im[y-1][x-1] = (byte) val; } void setPixel(PixelCoord pixel, int val) { setPixel(pixel.get_x(), pixel.get_y(), val); } int getPixelVal(int x, int y) { return im[y-1][x-1]; } int getPixelVal(PixelCoord pixel) { return getPixelVal(pixel.get_x(), pixel.get_y()); } void save(String fname) { try { FileOutputStream out = new FileOutputStream(fname); for (int x=0; x