public SolverOutput(BitmapSource data, List<Solver.Colorizer> colorpalette, IEnumerable<Charge> charges) { InitializeComponent(); _outputdata = data; _charges = new List<Charge>(charges); gridField.Background = new ImageBrush(data); recMapHelper.Fill = Helper.ConvertToBrush(colorpalette); foreach (Charge charge in _charges) { if (charge.IsActive) { var newfPoint = new FieldPoint { Height = 6, Width = 6, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(0, 0, 0, 0), Mcharge = charge }; var tgroup = new TransformGroup(); var tt = new TranslateTransform(charge.Location.X + 14, charge.Location.Y + 14); tgroup.Children.Add(tt); gridField.Children.Add(newfPoint); newfPoint.RenderTransform = tgroup; } } }
public SolverOutput(BitmapSource data, BitmapSource fieldLines, Color minColor, Color maxcolor, IEnumerable<Charge> charges) { InitializeComponent(); _outputdata = data; _charges = new List<Charge>(charges); gridField.Background = new ImageBrush(data); var myBrush = new LinearGradientBrush(); myBrush.GradientStops.Add(new GradientStop(maxcolor, 0.0)); myBrush.GradientStops.Add(new GradientStop(minColor, 1.0)); recMapHelper.Fill = myBrush; foreach (Charge charge in _charges) { if (charge.IsActive) { var newfPoint = new FieldPoint { Height = 6, Width = 6, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(0, 0, 0, 0), Mcharge = charge }; var tgroup = new TransformGroup(); var tt = new TranslateTransform(charge.Location.X + 13, charge.Location.Y + 13); tgroup.Children.Add(tt); gridField.Children.Add(newfPoint); newfPoint.RenderTransform = tgroup; } } _outputFieldLines = fieldLines; }