private void BtnSolveClick(object sender, RoutedEventArgs e)
        {
            List<Solver.Colorizer> colors = GenerateColorPalette();
            var slvr = new Solver(_charges, _surfaces, _imageHieght, _imageWidth);

            slvr.SolveIt();

            SolverOutput solvedutput;
            if (chkBoxDrawLines.IsChecked != null && chkBoxDrawLines.IsChecked == true)
            {
                BitmapSource outputData = slvr.CustomeColorizerSolverWithLines(colors,
                                                                               colorPickerLineColors.SelectedColor);

                solvedutput = new SolverOutput(outputData, colors, _charges);
            }
            else
            {
                BitmapSource outputData = slvr.CustomeColorizerSolver(colors);

                solvedutput = new SolverOutput(outputData, colors, _charges);
            }

            solvedutput.lblMarker.Visibility = Visibility.Hidden;
            solvedutput.recMarker.Visibility = Visibility.Hidden;
            solvedutput.gridMarker.Visibility = Visibility.Hidden;

            solvedutput.Show();
            Close();
        }
        private void BtnQuickSolveClick(object sender, RoutedEventArgs e)
        {
            List<Surface> surfacelist =
                gridField.Children.Cast<object>().Where(uiElement => uiElement.GetType() == typeof (Surface)).Cast
                    <Surface>().ToList();
            var slvr = new Solver(_charges, surfacelist, (int) gridField.Height, (int) gridField.Width);

            slvr.SolveIt();
            var imagebrush = new ImageBrush();
            //imagebrush.ImageSource = slvr.GetImageRgb24();

            var ListofColors = new List<Solver.Colorizer>();

            var color00 = new Solver.Colorizer();
            var color0 = new Solver.Colorizer();
            var color1 = new Solver.Colorizer();
            var color2 = new Solver.Colorizer();
            var color3 = new Solver.Colorizer();
            var color4 = new Solver.Colorizer();
            var color5 = new Solver.Colorizer();

            color00.Color = Colors.DarkRed;
            color00.Min = 1001;
            color00.Max = int.MaxValue;

            color0.Color = Colors.DarkRed;
            color0.Min = 400;
            color0.Max = 1000;

            color1.Color = Colors.Red;
            color1.Min = 100;
            color1.Max = 399;

            color2.Color = Colors.OrangeRed;
            color2.Min = 60;
            color2.Max = 99;

            color3.Color = Colors.Yellow;
            color3.Min = 30;
            color3.Max = 59;

            color4.Color = Colors.YellowGreen;
            color4.Min = 10;
            color4.Max = 29;

            color5.Color = Colors.Black;
            color5.Min = 0;
            color5.Max = 9;

            ListofColors.Add(color00);
            ListofColors.Add(color0);
            ListofColors.Add(color1);
            ListofColors.Add(color2);
            ListofColors.Add(color3);
            ListofColors.Add(color4);
            ListofColors.Add(color5);

            ListofColors.Add(new Solver.Colorizer());
            imagebrush.ImageSource = slvr.CustomeColorizerSolver(ListofColors);
            gridField.Background = imagebrush;
        }