Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / rendering / ColorRamp.java @ 470

History | View | Annotate | Download (3.72 KB)

1
/* Generated by Together */
2
package com.iver.cit.gvsig.fmap.rendering;
3

    
4
import com.iver.cit.gvsig.fmap.core.v02.FSymbol;
5
import com.iver.cit.gvsig.fmap.rendering.styling.FStyle2D;
6

    
7
import com.iver.utiles.StringUtilities;
8
import com.iver.utiles.XMLEntity;
9

    
10
import java.awt.Color;
11

    
12

    
13
/**
14
 * Rampa de colores para el dibujado de Raster's
15
 *
16
 * @author Vicente Caballero Navarro
17
 */
18
public class ColorRamp implements RasterLegend {
19
    private Color firstColor;
20
    private Color lastColor;
21
    private double first;
22
    private double last;
23

    
24
    /**
25
     * DOCUMENT ME!
26
     *
27
     * @param d DOCUMENT ME!
28
     * @param c DOCUMENT ME!
29
     */
30
    public void setFirstPoint(double d, Color c) {
31
        firstColor = c;
32
        first = d;
33
    }
34

    
35
    /**
36
     * DOCUMENT ME!
37
     *
38
     * @param d DOCUMENT ME!
39
     * @param c DOCUMENT ME!
40
     */
41
    public void setLastPoint(double d, Color c) {
42
        lastColor = c;
43
        last = d;
44
    }
45

    
46
    /**
47
     * DOCUMENT ME!
48
     *
49
     * @param d DOCUMENT ME!
50
     *
51
     * @return DOCUMENT ME!
52
     */
53
    public Color getColor(double d) {
54
        int fr = firstColor.getRed();
55
        int fg = firstColor.getGreen();
56
        int fb = firstColor.getBlue();
57

    
58
        int lr = lastColor.getRed();
59
        int lg = lastColor.getGreen();
60
        int lb = lastColor.getBlue();
61

    
62
        double total = last - first;
63
        double tr = lr - fr;
64
        double tg = lg - fg;
65
        double tb = lb - fb;
66

    
67
        double por = (d - first) / total;
68
        int r = (int) ((por * tr) + fr);
69
        int g = (int) ((por * tg) + fg);
70
        int b = (int) ((por * tb) + fb);
71

    
72
        return new Color(r, g, b);
73
    }
74

    
75
    /**
76
     * @see com.iver.cit.gvsig.fmap.rendering.ClassifiedLegendInfo#getDescriptions()
77
     */
78
    public String[] getDescriptions() {
79
        return null;
80
    }
81

    
82
    /**
83
     * @see com.iver.cit.gvsig.fmap.rendering.ClassifiedLegendInfo#getSymbols()
84
     */
85
    public FSymbol[] getSymbols() {
86
        return null;
87
    }
88

    
89
    /**
90
     * @see com.iver.cit.gvsig.fmap.rendering.ClassifiedLegendInfo#getValues()
91
     */
92
    public Object[] getValues() {
93
        return null;
94
    }
95

    
96
    /**
97
     * @see com.iver.cit.gvsig.fmap.rendering.Legend#getDefaultSymbol()
98
     */
99
    public FSymbol getDefaultSymbol() {
100
        return null;
101
    }
102

    
103
    /**
104
     * @see com.iver.cit.gvsig.fmap.rendering.RasterLegend#getSymbol(double)
105
     */
106
    public FStyle2D getSymbol(double d) {
107
        return null;
108
    }
109

    
110
    /**
111
     * @see com.iver.cit.gvsig.fmap.rendering.RasterLegend#setDefaultSymbol(com.iver.cit.gvsig.fmap.rendering.styling.FStyle2D)
112
     */
113
    public void setDefaultSymbol(FStyle2D s) {
114
    }
115

    
116
    /**
117
     * @see com.iver.cit.gvsig.fmap.rendering.Legend#getXMLEntity()
118
     */
119
    public XMLEntity getXMLEntity() {
120
        XMLEntity xml = new XMLEntity();
121
        xml.putProperty("first", first);
122
        xml.putProperty("firstColor", StringUtilities.color2String(firstColor));
123
        xml.putProperty("last", last);
124
        xml.putProperty("lastColor", StringUtilities.color2String(lastColor));
125

    
126
        return xml;
127
    }
128

    
129
    /**
130
     * DOCUMENT ME!
131
     *
132
     * @param xml DOCUMENT ME!
133
     *
134
     * @return DOCUMENT ME!
135
     */
136
    public static ColorRamp createFromXML(XMLEntity xml) {
137
        ColorRamp cr = new ColorRamp();
138
        cr.first = xml.getDoubleProperty("first");
139
        cr.firstColor = StringUtilities.string2Color(xml.getStringProperty(
140
                    "fistColor"));
141
        cr.last = xml.getDoubleProperty("last");
142
        cr.lastColor = StringUtilities.string2Color(xml.getStringProperty(
143
                    "lastColor"));
144

    
145
        return cr;
146
    }
147

    
148
    /**
149
     * @see com.iver.cit.gvsig.fmap.rendering.Legend#cloneLegend()
150
     */
151
    public Legend cloneLegend() {
152
        return createFromXML(getXMLEntity());
153
    }
154
}