Tuesday, November 4, 2008

GrayFilterApplet

import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import GrayModel;


public class GrayFilterApplet extends Applet{

Image img;
Image newImg;

public void init(){
img=getImage(getDocumentBase(),"java.gif");
GrayFilter filter=new GrayFilter();
newImg=createImage(new FilteredImageSource(
img.getSource(), filter));
}

public void paint(Graphics g){
g.drawImage(img,0,0,this);
g.drawString("origin image",10,150);

g.drawImage(newImg,110,0,this);
g.drawString("gray image",120,150);

}

}

class GrayFilter extends RGBImageFilter{

public GrayFilter(){
canFilterIndexColorModel=true;
}

public void setColorModel(ColorModel cm){
substituteColorModel(cm, new GrayModel(cm));
}

//This method no need because it will never be called
public int filterRGB(int x, int y, int rgb){
return rgb;
}
}