Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }