GrayFilterpublic class GrayFilter extends RGBImageFilter An image filter that "disables" an image by turning
it into a grayscale image, and brightening the pixels
in the image. Used by buttons to create an image for
a disabled button. |
Fields Summary |
---|
private boolean | brighter | private int | percent |
Constructors Summary |
---|
public GrayFilter(boolean b, int p)Constructs a GrayFilter object that filters a color image to a
grayscale image. Used by buttons to create disabled ("grayed out")
button images.
brighter = b;
percent = p;
// canFilterIndexColorModel indicates whether or not it is acceptable
// to apply the color filtering of the filterRGB method to the color
// table entries of an IndexColorModel object in lieu of pixel by pixel
// filtering.
canFilterIndexColorModel = true;
|
Methods Summary |
---|
public static java.awt.Image | createDisabledImage(java.awt.Image i)Creates a disabled image
GrayFilter filter = new GrayFilter(true, 50);
ImageProducer prod = new FilteredImageSource(i.getSource(), filter);
Image grayImage = Toolkit.getDefaultToolkit().createImage(prod);
return grayImage;
| public int | filterRGB(int x, int y, int rgb)Overrides RGBImageFilter.filterRGB .
// Use NTSC conversion formula.
int gray = (int)((0.30 * ((rgb >> 16) & 0xff) +
0.59 * ((rgb >> 8) & 0xff) +
0.11 * (rgb & 0xff)) / 3);
if (brighter) {
gray = (255 - ((255 - gray) * (100 - percent) / 100));
} else {
gray = (gray * (100 - percent) / 100);
}
if (gray < 0) gray = 0;
if (gray > 255) gray = 255;
return (rgb & 0xff000000) | (gray << 16) | (gray << 8) | (gray << 0);
|
|