com.jhlabs.image
Class ArrayColormap

java.lang.Object
  extended by com.jhlabs.image.ArrayColormap
All Implemented Interfaces:
Colormap, java.lang.Cloneable
Direct Known Subclasses:
Gradient, SplineColormap

public class ArrayColormap
extends java.lang.Object
implements Colormap, java.lang.Cloneable

A colormap implemented with an array of colors. This corresponds to the IndexColorModel class.


Field Summary
protected  int[] map
          The array of colors.
 
Constructor Summary
ArrayColormap()
          Construct an all-black colormap.
ArrayColormap(int[] map)
          Construct a colormap with the given map.
 
Method Summary
 java.lang.Object clone()
           
 int getColor(float v)
          Convert a value in the range 0..1 to an RGB color.
 int[] getMap()
          Get the array of colors for the colormap.
 void setColor(int index, int color)
          Set one element of the colormap to a given color.
 void setColorInterpolated(int index, int firstIndex, int lastIndex, int color)
          Set the color at "index" to "color".
 void setColorRange(int firstIndex, int lastIndex, int color)
          Set a range of the colormap to a single color.
 void setColorRange(int firstIndex, int lastIndex, int color1, int color2)
          Set a range of the colormap, interpolating between two colors.
 void setMap(int[] map)
          Set the array of colors for the colormap.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

map

protected int[] map
The array of colors.

Constructor Detail

ArrayColormap

public ArrayColormap()
Construct an all-black colormap.


ArrayColormap

public ArrayColormap(int[] map)
Construct a colormap with the given map.

Parameters:
map - the array of ARGB colors
Method Detail

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

setMap

public void setMap(int[] map)
Set the array of colors for the colormap.

Parameters:
map - the colors
See Also:
getMap()

getMap

public int[] getMap()
Get the array of colors for the colormap.

Returns:
the colors
See Also:
setMap(int[])

getColor

public int getColor(float v)
Convert a value in the range 0..1 to an RGB color.

Specified by:
getColor in interface Colormap
Parameters:
v - a value in the range 0..1
Returns:
an RGB color
See Also:
setColor(int, int)

setColorInterpolated

public void setColorInterpolated(int index,
                                 int firstIndex,
                                 int lastIndex,
                                 int color)
Set the color at "index" to "color". Entries are interpolated linearly from the existing entries at "firstIndex" and "lastIndex" to the new entry. firstIndex < index < lastIndex must hold.

Parameters:
index - the position to set
firstIndex - the position of the first color from which to interpolate
lastIndex - the position of the second color from which to interpolate
color - the color to set

setColorRange

public void setColorRange(int firstIndex,
                          int lastIndex,
                          int color1,
                          int color2)
Set a range of the colormap, interpolating between two colors.

Parameters:
firstIndex - the position of the first color
lastIndex - the position of the second color
color1 - the first color
color2 - the second color

setColorRange

public void setColorRange(int firstIndex,
                          int lastIndex,
                          int color)
Set a range of the colormap to a single color.

Parameters:
firstIndex - the position of the first color
lastIndex - the position of the second color
color - the color

setColor

public void setColor(int index,
                     int color)
Set one element of the colormap to a given color.

Parameters:
index - the position of the color
color - the color
See Also:
getColor(float)