Class ColorMap
java.lang.Object
org.eclipse.nebula.visualization.widgets.datadefinition.ColorMap
public class ColorMap
extends java.lang.Object
Color Map data type.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ColorMap.PredefinedColorMap
-
Constructor Summary
Constructors Constructor Description ColorMap()
ColorMap(ColorMap.PredefinedColorMap predefinedColorMap, boolean autoScale, boolean interpolate)
-
Method Summary
Modifier and Type Method Description org.eclipse.swt.graphics.ImageData
drawImage(double[] dataArray, int dataWidth, int dataHeight, double max, double min)
Calculate the image data from source data based on the color map.org.eclipse.swt.graphics.ImageData
drawImage(IPrimaryArrayWrapper dataArray, int dataWidth, int dataHeight, double max, double min, org.eclipse.swt.graphics.ImageData imageData, boolean shrink)
Calculate the image data from source data based on the color map.org.eclipse.swt.graphics.RGB[]
getColorsLookupTable()
Get a colors lookup table from 0 to 255.java.util.LinkedHashMap<java.lang.Double,org.eclipse.swt.graphics.RGB>
getMap()
org.eclipse.swt.graphics.PaletteData
getPalette()
ColorMap.PredefinedColorMap
getPredefinedColorMap()
org.eclipse.swt.graphics.RGB
getValueRGB(ColorTuple[] colorTupleArray, double[] keyArray, double value)
boolean
isAutoScale()
boolean
isInterpolate()
void
setAutoScale(boolean autoScale)
void
setColorMap(java.util.LinkedHashMap<java.lang.Double,org.eclipse.swt.graphics.RGB> colorMap)
Set a new map.void
setInterpolate(boolean interpolate)
void
setPredefinedColorMap(ColorMap.PredefinedColorMap predefinedColorMap)
java.lang.String
toString()
-
Constructor Details
-
ColorMap
public ColorMap() -
ColorMap
public ColorMap(ColorMap.PredefinedColorMap predefinedColorMap, boolean autoScale, boolean interpolate)
-
-
Method Details
-
getMap
public java.util.LinkedHashMap<java.lang.Double,org.eclipse.swt.graphics.RGB> getMap()- Returns:
- the map which back up the ColorMap
-
setColorMap
public void setColorMap(java.util.LinkedHashMap<java.lang.Double,org.eclipse.swt.graphics.RGB> colorMap)Set a new map.- Parameters:
colorMap
- the new map.
-
setAutoScale
public void setAutoScale(boolean autoScale)- Parameters:
autoScale
- the autoScale to set
-
isAutoScale
public boolean isAutoScale()- Returns:
- the autoScale
-
setInterpolate
public void setInterpolate(boolean interpolate)- Parameters:
interpolate
- the interpolate to set
-
isInterpolate
public boolean isInterpolate()- Returns:
- the interpolate
-
setPredefinedColorMap
- Parameters:
predefinedColorMap
- the predefinedColorMap to set
-
getPredefinedColorMap
- Returns:
- the predefinedColorMap
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
drawImage
public org.eclipse.swt.graphics.ImageData drawImage(IPrimaryArrayWrapper dataArray, int dataWidth, int dataHeight, double max, double min, org.eclipse.swt.graphics.ImageData imageData, boolean shrink)Calculate the image data from source data based on the color map.- Parameters:
dataArray
- the source datadataWidth
- number of columns of dataArray; This will be the width of image data.dataHeight
- number of rows of dataArray; This will be the height of image data.max
- the upper limit of the data in dataArraymin
- the lower limit of the data in dataArrayimageData
- the imageData to be filled. null if a new instance should be created.shrink
- true if area size of image data is smaller than dataWidth*dataHeight. If this is true, it will use the nearest neighbor iamge scaling algorithm as described at https://tech-algorithm.com/articles/nearest-neighbor-image-scaling/.- Returns:
- the image data. null if dataWidth or dataHeight is less than 1.
-
drawImage
public org.eclipse.swt.graphics.ImageData drawImage(double[] dataArray, int dataWidth, int dataHeight, double max, double min)Calculate the image data from source data based on the color map.- Parameters:
dataArray
- the source datadataWidth
- number of columns of dataArray; This will be the width of image data.dataHeight
- number of rows of dataArray; This will be the height of image data.max
- the upper limit of the data in dataArraymin
- the lower limit of the data in dataArrayimageData
- the imageData to be filled. null if a new instance should be created.- Returns:
- the image data. null if dataWidth or dataHeight is less than 1.
-
getValueRGB
public org.eclipse.swt.graphics.RGB getValueRGB(ColorTuple[] colorTupleArray, double[] keyArray, double value)- Parameters:
colorTupleArray
-keyArray
-value
- the value which has been scaled or not based on the autoScale flag.min
-max
-- Returns:
-
getColorsLookupTable
public org.eclipse.swt.graphics.RGB[] getColorsLookupTable()Get a colors lookup table from 0 to 255. This only works for autoScale is true;- Returns:
- the colorsLookupTable a array of 256 colors corresponding to the value from min to max
-
getPalette
public org.eclipse.swt.graphics.PaletteData getPalette()
-