Class 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

      Fields 
      Modifier and Type Field Description
      protected int[] map
      The array of colors.
    • Constructor Summary

      Constructors 
      Constructor Description
      ArrayColormap()
      Construct an all-black colormap.
      ArrayColormap​(int[] map)
      Construct a colormap with the given map.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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)