import java.awt.*;
import java.awt.image.*;
import java.awt.MediaTracker;
import java.io.*;

// Greyscale Filter
public class greyfilt extends EffectFilter
{
	// Create object
	public greyfilt()
	{
	}
	
	// Runs algorithm
	public void performEffect()
	{
		int[] newPixels = new int[width*height];
		int red = 0;
		int green = 0;
		int blue = 0;
		int grey = 0;

		// Moves through the input array pixel by pixel
		for (int i=0;i<width*height;i++)
		{
			// Isolates RGB components
			red = (pixels[i]>>16)&0xff;
			green = (pixels[i]>>8)&0xff;
			blue = (pixels[i])&0xff;

			// Averages and outputs RGB components as greyscale
			grey = (red + green + blue) / 3;
    
			newPixels[i] = (0xff000000 | (grey << 16) | (grey <<  8) |  grey); 
		}
		this.pixels = newPixels;
	}
}



