private void PageChanged(int pageIndex) { this.pageIndex = pageIndex; switch (pageIndex) { case 0: colorModelsView = new ColorModelsView(CloseFrame); colorModelsViewModel = new ColorModelsViewModel(); MainFrame.DataContext = colorModelsViewModel; MainFrame.Content = colorModelsView; break; case 1: fractalsView = new FractalsView(CloseFrame); fractalsViewModel = new FractalsDataViewModel(400, 400); MainFrame.DataContext = fractalsViewModel; fractalsView.FractalPower3Radio.Checked += FractalPowerChanged; fractalsView.FractalPower4Radio.Checked += FractalPowerChanged; MainFrame.Content = fractalsView; break; case 2: transformationsView = new TransformationView(CloseFrame); transformationsViewModel = new TransformationsViewModel(transformationsView.HandleAnimationEnd); MainFrame.DataContext = transformationsViewModel; transformationsView.CenterTransformRadio.Checked += TransformRadioChanged; transformationsView.VertexTransformRadio.Checked += TransformRadioChanged; MainFrame.Content = transformationsView; break; } }
private void StartButton_Click(object sender, RoutedEventArgs e) { TransformationsViewModel viewModel = (TransformationsViewModel)DataContext; if (Validation.GetHasError(InputSideLength)) { InputSideLength.Text = viewModel.SideLength.ToString(); ErrorWindow error = new ErrorWindow(badSymbolsError); error.ShowDialog(); } if (Validation.GetHasError(InputX)) { InputX.Text = viewModel.CoordX.ToString(); ErrorWindow error = new ErrorWindow(badSymbolsError); error.ShowDialog(); } if (Validation.GetHasError(InputY)) { InputY.Text = viewModel.CoordY.ToString(); ErrorWindow error = new ErrorWindow(badSymbolsError); error.ShowDialog(); } if (Validation.GetHasError(InputMaxRotation)) { InputMaxRotation.Text = viewModel.MaxRotation.ToString(); ErrorWindow error = new ErrorWindow(badSymbolsError); error.ShowDialog(); } StartButtonText.Text = "Продовжити"; StartButton.Visibility = Visibility.Collapsed; PauseButton.Visibility = Visibility.Visible; StopButton.IsEnabled = true; ToggleTransformUI(false); }
public IActionResult Index() { TransformationsViewModel viewModel = new TransformationsViewModel(); viewModel.DensityAlpha = viewModel.DensityRed = viewModel.DensityGreen = viewModel.DensityBlue = 100; return(View(viewModel)); }
public IActionResult Index(TransformationsViewModel viewModel) { if (this.ModelState.IsValid) { viewModel.ImageBytes = TransformImage(viewModel); } return(View(nameof(Index), viewModel)); }
private static IEnumerable <IImageTransformation> LoadImageTransformations(TransformationsViewModel viewModel) { List <IImageTransformation> transformations = new List <IImageTransformation>(4); if (viewModel.Angle != 0) { transformations.Add( new RotationImageTransformation((double)viewModel.Angle)); } if (viewModel.StretchHorizontal != 0 || viewModel.StretchVertical != 0) { transformations.Add( new StretchImageTransformation( (double)viewModel.StretchHorizontal / 100, (double)viewModel.StretchVertical / 100)); } if (viewModel.FlipHorizontally || viewModel.FlipVertically) { transformations.Add( new FlipImageTransformation(viewModel.FlipHorizontally, viewModel.FlipVertically)); } if (new decimal[] { viewModel.DensityAlpha, viewModel.DensityRed, viewModel.DensityGreen, viewModel.DensityBlue }.Any(a => a != 100)) { transformations.Add( new DensityImageTransformation( (double)viewModel.DensityAlpha / 100, (double)viewModel.DensityRed / 100, (double)viewModel.DensityGreen / 100, (double)viewModel.DensityBlue / 100 )); } return(transformations); }
private byte[] TransformImage(TransformationsViewModel viewModel) { var transformations = LoadImageTransformations(viewModel); Bitmap bmp = null; using (MemoryStream stm = new MemoryStream()) { viewModel.File.CopyTo(stm); bmp = ImageTransformer.Apply(stm, transformations); // clear memory stream stm.Position = 0; stm.SetLength(0); bmp.Save(stm, System.Drawing.Imaging.ImageFormat.Png); return(stm.ToArray()); } }