public class AlphaImage {
private Image image = null;
/*
* the image is your will change
*/
public AlphaImage(Image image) {
this.image = image;
}
/*
* i is the Alpha you will set
*/
public Image alphaImage(int i) {
ImageProducer producer = new FilteredImageSource(image.getSource(),new ImageAlphaFilter(i));
image = Toolkit.getDefaultToolkit().createImage(producer);
return image;
}
/*
* filter the image
*/
private class ImageAlphaFilter extends RGBImageFilter {
private int modelStyle = 255;
public ImageAlphaFilter(int moelStyle) {
this.modelStyle = moelStyle;
}
public int filterRGB(int x, int y, int rgb) {
int alpha = rgb & 0xFF000000;
int r, g, b;
r = (rgb & 0xFF0000) >> 16;
g = (rgb & 0xFF00) >> 8;
b = rgb & 0xFF;
alpha = modelStyle;
return alpha | (r << 16) | (g << 8) | b;
}
}
}
=========================================
没有去测试,我认为这样应该可以处理的~
不知道这个对楼主是否有用
:)