com.jhlabs.image

Class ArrayColormap

Implemented Interfaces:
Cloneable, Colormap
Known Direct Subclasses:
Gradient, SplineColormap

public class ArrayColormap
extends java.lang.Object
implements Colormap, 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

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.

Field Details

map

protected int[] map
The array of colors.

Constructor Details

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 Details

clone

public Object clone()

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

getMap

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

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

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 <32index <32lastIndex 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 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

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

setMap

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