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;
}
}