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 |
|