Ejemplo n.º 1
0
        private void UpdatePanels()
        {
            var colors = new[]
            {
                new byte[] { 0, 0, 0 },
                new byte[] { 255, 255, 0 },
                new byte[] { 255, 0, 0 },
                new byte[] { 255, 255, 255 }
            };
            var positions = new[] { 0, 0.3f, 0.7f, 1 };

            var cmap1 = ColorMap.CreateFromColors(colors, positions, colorCount: ColorCountDefault);
            var cmap2 = new ColorMap(SelectedPalette, colorCount: ColorCountDefault);
            var cmap3 = new MirrorColorMap(cmap2);

            PaletteBrush1 = CreatePaletteBrush(cmap1);
            PaletteBrush2 = CreatePaletteBrush(cmap2);
            PaletteBrush3 = CreatePaletteBrush(cmap3);

            OnPropertyChanged("PaletteBrush1");
            OnPropertyChanged("PaletteBrush2");
            OnPropertyChanged("PaletteBrush3");
        }
Ejemplo n.º 2
0
        private void DrawModulationSpectrum(float[][] spectrum)
        {
            var minValue = spectrum.SelectMany(s => s).Min();
            var maxValue = spectrum.SelectMany(s => s).Max();

            var cmap = new MirrorColorMap(new ColorMap("bone", minValue, maxValue));

            var g = modulationSpectrumPanel.CreateGraphics();

            g.Clear(Color.White);

            var spectrumBitmap = new Bitmap(spectrum[0].Length, spectrum.Length);

            for (var i = 0; i < spectrum.Length; i++)
            {
                for (var j = 0; j < spectrum[i].Length; j++)
                {
                    spectrumBitmap.SetPixel(j, spectrum.Length - 1 - i, cmap.GetColor(spectrum[i][j]));
                }
            }

            g.DrawImage(spectrumBitmap, 25, 25, modulationSpectrumPanel.Width - 25, modulationSpectrumPanel.Height - 25);
        }