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 classColorMap.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.ImageDatadrawImage(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.ImageDatadrawImage(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.PaletteDatagetPalette()ColorMap.PredefinedColorMapgetPredefinedColorMap()org.eclipse.swt.graphics.RGBgetValueRGB(ColorTuple[] colorTupleArray, double[] keyArray, double value)booleanisAutoScale()booleanisInterpolate()voidsetAutoScale(boolean autoScale)voidsetColorMap(java.util.LinkedHashMap<java.lang.Double,org.eclipse.swt.graphics.RGB> colorMap)Set a new map.voidsetInterpolate(boolean interpolate)voidsetPredefinedColorMap(ColorMap.PredefinedColorMap predefinedColorMap)java.lang.StringtoString()
-
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:
toStringin 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()
-