blob: ea20d15a46b65b8ec8af3eaae0c91c2596386152 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
package imaging.filters;
import java.awt.image.*;
public class DarkenFilter extends RGBImageFilter implements MedFilter
{
private int percent_;
public DarkenFilter ()
{
percent_ = 50;
canFilterIndexColorModel = true;
}
public DarkenFilter(int percent)
{
Assert.notFalse(percent >= 0 && percent <= 100);
percent_ = percent;
canFilterIndexColorModel = true;
}
public String info ()
{
return "Darkens an image.";
}
public int filterRGB(int x, int y, int rgb)
{
DirectColorModel cm =
(DirectColorModel)ColorModel.getRGBdefault();
int alpha = cm.getAlpha(rgb);
int red = cm.getRed (rgb);
int green = cm.getGreen(rgb);
int blue = cm.getBlue (rgb);
double percentMultiplier = (double)((double)1.0 - (double)percent_/100);
red *= percentMultiplier;
blue *= percentMultiplier;
green *= percentMultiplier;
alpha = alpha << 24;
red = red << 16;
green = green << 8;
return alpha | red | green | blue;
}
}
|