/// <summary> /// Build an array of color mappings to remap our greyscale mask to full color /// Accept an alpha byte to specify the transparancy of the output image /// </summary> /// <param name="alpha">specify the transparancy of the output image</param> /// <param name="type">ColorPaletteType (Photosounder, Rew or Sox)</param> /// <returns>a ColorMap array</returns> private static ColorMap[] CreatePaletteIndex(byte alpha, ColorPaletteType type) { ColorMap[] outputMap = new ColorMap[256]; // Change this path to wherever you saved the palette image. //Bitmap palette = (Bitmap)Bitmap.FromFile(@"C:\Users\Dylan\Documents\Visual Studio 2005\Projects\HeatMapTest\palette.bmp"); List <Color> gradients; switch (type) { case ColorPaletteType.PHOTOSOUNDER: gradients = ColorUtils.GetRGBColorGradients(256, ColorUtils.ColorPaletteType.PHOTOSOUNDER); break; case ColorPaletteType.REW: gradients = ColorUtils.GetHSBColorGradients(256, ColorUtils.ColorPaletteType.REW); break; case ColorPaletteType.SOX: gradients = ColorUtils.GetHSBColorGradients(256, ColorUtils.ColorPaletteType.SOX); break; case ColorPaletteType.MATLAB: gradients = ColorUtils.GetHSBColorGradients(256, ColorUtils.ColorPaletteType.MATLAB); break; default: gradients = ColorUtils.GetHSBColorGradients(256, ColorUtils.ColorPaletteType.SOX); break; } Bitmap palette = GetColorGradientsPalette(gradients, 1); // Loop through each pixel and create a new color mapping for (int x = 0; x <= 255; x++) { outputMap[x] = new ColorMap(); outputMap[x].OldColor = Color.FromArgb(x, x, x); outputMap[x].NewColor = Color.FromArgb(alpha, palette.GetPixel(255 - x, 0)); } return(outputMap); }
/// <summary> /// Build an array of color mappings to remap our greyscale mask to full color /// Accept an alpha byte to specify the transparancy of the output image /// </summary> /// <param name="alpha">specify the transparancy of the output image</param> /// <param name="type">ColorPaletteType (Photosounder, Rew or Sox)</param> /// <returns>a ColorMap array</returns> private static ColorMap[] CreatePaletteIndex(byte alpha, ColorPaletteType type) { var outputMap = new ColorMap[256]; List <Color> gradients; switch (type) { case ColorPaletteType.PHOTOSOUNDER: gradients = ColorUtils.GetRGBColorGradients(256, ColorUtils.ColorPaletteType.PHOTOSOUNDER); break; case ColorPaletteType.REW: gradients = ColorUtils.GetHSBColorGradients(256, ColorUtils.ColorPaletteType.REW); break; case ColorPaletteType.SOX: gradients = ColorUtils.GetHSBColorGradients(256, ColorUtils.ColorPaletteType.SOX); break; case ColorPaletteType.MATLAB: gradients = ColorUtils.GetHSBColorGradients(256, ColorUtils.ColorPaletteType.MATLAB); break; default: gradients = ColorUtils.GetHSBColorGradients(256, ColorUtils.ColorPaletteType.SOX); break; } Bitmap palette = GetColorGradientsPalette(gradients, 1); // Loop through each pixel and create a new color mapping for (int x = 0; x <= 255; x++) { outputMap[x] = new ColorMap(); outputMap[x].OldColor = Color.FromArgb(x, x, x); outputMap[x].NewColor = Color.FromArgb(alpha, palette.GetPixel(255 - x, 0)); } return(outputMap); }