Tuesday, November 4, 2008

ProcessImage

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

}