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"); }
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); }