Tuesday, November 4, 2008

AlphaImageApplet

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


public class AlphaImageApplet extends Applet{

Image img;
Image alphaImage;

public void init()
{
img=getImage(getDocumentBase(),"flower.gif");
createPicture(255);

Scrollbar myScroll = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,255);
add(myScroll);

myScroll.addAdjustmentListener(new AdjustmentListener(){
public void adjustmentValueChanged(AdjustmentEvent evt){
int x = evt.getValue();
createPicture(255-x);
repaint();

}
});

}

public void paint(Graphics g){
g.drawImage(alphaImage,0,0,this);
g.drawString("alpha image",110,50);

g.drawImage(img,0,85,this);
g.drawString("origin image",110,140);

}



public void createPicture(int alpha){
AlphaFilter filter=new AlphaFilter(alpha);
alphaImage=createImage(new FilteredImageSource(
img.getSource(), filter));
}

}

class AlphaFilter extends RGBImageFilter{

int alpha;

public AlphaFilter(int alpha){
this.alpha=alpha;
}
public int filterRGB(int x, int y, int rgb){
return (alpha<<24)+(rgb & 0x00ffffff);
}
}