/** * ImageMultiProcessor.java * * This class consists of an EasyBufferedImage, plus some methods for * displaying various modifications of the image. Designed for the * CS117 assignment due Monday, 1/31/05. */ import java.io.*; import java.awt.*; class ImageMultiProcessor { private EasyBufferedImage image; public ImageMultiProcessor( String imageFileName ) throws IOException { image = EasyBufferedImage.createImage( imageFileName ); } public void show( String title, int x, int y ) { image.show( title, x, y ); } public void show( String title ) { image.show( title ); } public void mirror() { int[][][] oldPixels = image.getPixels3D(); int[][][] newPixels = new int[image.getHeight()][image.getWidth()][3]; for( int row=0; row < image.getHeight(); row++ ) { for( int column=0; column < image.getWidth(); column++ ) { newPixels[row][column][EasyBufferedImage.RED] = oldPixels[row][image.getWidth()-column-1][EasyBufferedImage.RED]; newPixels[row][column][EasyBufferedImage.GREEN] = oldPixels[row][image.getWidth()-column-1][EasyBufferedImage.GREEN]; newPixels[row][column][EasyBufferedImage.BLUE] = oldPixels[row][image.getWidth()-column-1][EasyBufferedImage.BLUE]; } } image = EasyBufferedImage.createImage( newPixels ); } public void gray() { } public boolean crop( int startRow, int stopRow, int startColumn, int stopColumn ) { return true; } public void removeGreenAndBlue() { int [] green = image.getPixels1D( EasyBufferedImage.GREEN ); int [] blue = image.getPixels1D( EasyBufferedImage.BLUE ); for( int k=0; k < green.length; k++ ) { green[k] = 0; blue[k] = 0; } image.setPixels( green, EasyBufferedImage.GREEN ); image.setPixels( blue, EasyBufferedImage.BLUE ); } public void removeRedAndBlue() { int [] red = image.getPixels1D( EasyBufferedImage.RED ); int [] blue = image.getPixels1D( EasyBufferedImage.BLUE ); for( int k=0; k < red.length; k++ ) { red[k] = 0; blue[k] = 0; } image.setPixels( red, EasyBufferedImage.RED ); image.setPixels( blue, EasyBufferedImage.BLUE ); } public void replaceRed( Color replacementColor ) { } public void replaceRed( EasyBufferedImage replacementImage ) { } public void negate() { } }