Statistics
| Revision:

svn-gvsig-desktop / branches / CqCMSDvp / libraries / libCq CMS for java.old / src / org / cresques / io / raster / PixelFilter.java @ 1928

History | View | Annotate | Download (1.36 KB)

1
/*
2
 * Created on 26-abr-2004
3
 */
4
package org.cresques.io.raster;
5

    
6
/**
7
 * @author Luis W. Sevilla (sevilla_lui@gva.es)
8
 */
9
public class PixelFilter {
10
        public boolean debug = false;
11
        int transparente = 0x10ffff00;
12
        int orColor = 0xff000000;
13
        int umbral = 0xf0f0f0;
14
        private int alpha = 0xff;
15
        
16
        /**
17
         * Constructor para el Oleico
18
         */
19

    
20
        public PixelFilter(int alpha) {
21
                transparente = 0x10ffff00;
22
                setAlpha(alpha);
23
                //orColor = 0xff000000 | (alpha * 0x1000000);
24
                umbral = 0xf0f0f0;
25
        }
26

    
27
        /**
28
         * Constructor.
29
         * 
30
         * @param trans Color que sustituye a los pixeles filtrados
31
         * @param or        M?scara que se aplica a los pixeles restantes
32
         * @param pxMax        Umbral que determina los pixeles.
33
         */
34
                
35
        public PixelFilter(int trans, int or, int pxMax) {
36
                transparente = trans;
37
                setAlpha( (orColor >> 24) & 0xff);
38
                orColor = or;
39
                umbral = pxMax;
40
        }
41
        
42
        public void setAlpha(int alpha) {
43
                this.alpha = alpha;
44
                orColor = (alpha << 24) & 0xff000000;
45
        }
46
        public int getAlpha() { return alpha; }
47
        
48
        /**
49
         * Filtra una l?nea de pixeles.
50
         * 
51
         * @param pRGBArray
52
         */
53
        
54
        public void filterLine(int [] pRGBArray) {
55
                for (int i=0; i<pRGBArray.length; i++) {
56
                        /*if (debug)
57
                                System.out.print(""+i+":"+Integer.toHexString(pRGBArray[i])+",");*/
58
                        if (pRGBArray[i]  >= umbral)
59
                                pRGBArray[i] = transparente;
60
                        else
61
                                pRGBArray[i] |= orColor;
62
                }
63
                /*if (debug)
64
                        System.out.println("");*/
65
        }
66
}
67

    
68

    
69