/Users/lyon/j4p/src/j2d/color/PseudoColorFilter.java

1    /* 
2     * Created by DocJava, Inc. 
3     * User: lyon 
4     * Date: Feb 28, 2003 
5     * Time: 10:24:09 AM 
6     */ 
7    package j2d.color; 
8     
9    import j2d.hpp.HppFilterInterface; 
10    
11    
12   public class PseudoColorFilter implements 
13           HppFilterInterface { 
14       double params[] = { 
15           0.0125, 
16           0.125, 
17           0.425}; 
18    
19       public PseudoColorFilter(double ar, double ag, double ab) { 
20           params[0] = ar; 
21           params[1] = ag; 
22           params[2] = ab; 
23       } 
24    
25       public PseudoColorFilter() { 
26       } 
27    
28       public short getR(int v) { 
29           return getFunction(v, params[0]); 
30       } 
31    
32       public short getG(int v) { 
33           return getFunction(v, params[1]); 
34       } 
35    
36       public short getB(int v) { 
37           return getFunction(v, params[2]); 
38       } 
39    
40       public static short getFunction(int v, double a) { 
41           return (short) (255 / 2.0 * (Math.sin(a * v) + 1)); 
42       } 
43   } 
44