/**
*
*/
package de.danielsenff.badds.operations;
import java.awt.image.BufferedImage;
import java.awt.image.WritableRaster;
/**
* @author danielsenff
*
*/
public abstract class ManipulateChannel implements Operation, RGBAFilter {
/* (non-Javadoc)
* @see operations.Operation#run(java.awt.image.BufferedImage)
*/
@Override
public BufferedImage run(BufferedImage bi) {
WritableRaster raster = bi.getRaster();
for (int y = 0; y < bi.getHeight(); y++) {
for (int x = 0; x < bi.getWidth(); x++) {
// read pixel
int[] pixel = null;
pixel = raster.getPixel(x, y, pixel);
//run operation
pixel = this.filterRGB(x, y, pixel);
// write pixel back
raster.setPixel(x, y, pixel );
}
}
return bi;
}
}