import java.applet.*;
import java.awt.*;
import java.awt.image.*;
public class ProcessImage extends Applet
{
Image originImage;
Image yellowImage;
int w = 80;
int h = 40;
int pixs[] = new int[w * h];
public void init()
{
originImage=getImage(getDocumentBase(),"beans.gif");
ImageProducer producer=originImage.getSource();
PixelGrabber pg = new PixelGrabber(producer, 0, 0, w, h, pixs, 0, w);
try {
pg.grabPixels();
} catch (InterruptedException e) {
System.err.println("interrupted waiting for pixels!");
return;
}
processPicture(pixs);
}
public void paint(Graphics g){
g.drawImage(originImage,0,0,this);
g.drawString("origin image",100,20);
g.drawImage(yellowImage,0,50,this);
g.drawString("processed image",100,70);
}
public void processPicture(int[] pixs){
for (int y = 0; y < h; y++) {
for (int x = 0; x < w; x++) {
int i=y*w+x;
pixs[i] = (pixs[i] & 0xffffff00);
}
}
yellowImage = createImage(new MemoryImageSource(w, h, pixs, 0, w));
}
}