private void Revert_Click(object sender, RoutedEventArgs e) { _currentActiveImage = ImageProcessing.CopyImage(_imageWithoutChanges); Img.Source = Convert(_currentActiveImage); }
private void LoadFile_MenuItemClick(object sender, RoutedEventArgs e) { var dlg = new OpenFileDialog { Filter = "" }; var codecs = ImageCodecInfo.GetImageEncoders(); var sep = string.Empty; foreach (var c in codecs) { var codecName = c.CodecName.Substring(8).Replace("Codec", "Files").Trim(); dlg.Filter = string.Format("{0}{1}{2} ({3})|{3}", dlg.Filter, sep, codecName, c.FilenameExtension); sep = "|"; } dlg.DefaultExt = ".png"; if (_fileHasBeenSaved) { if (dlg.ShowDialog() == true) { var fileName = dlg.FileName; try { _currentActiveImage = new Bitmap(fileName); Img.Source = new BitmapImage(new Uri(fileName)); SaveImageMenuItem.IsEnabled = true; _fileHasBeenSaved = false; _isMonochromatic = ImageProcessing.MonochromaticValidation(_currentActiveImage); } catch (NotSupportedException) { MessageBox.Show("Unknown image format", "Warning", MessageBoxButton.OK, MessageBoxImage.Error); } } } else { if (MessageBox.Show("Open new image without saving changes on current one?", "Warning", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { if (dlg.ShowDialog() != true) { return; } var fileName = dlg.FileName; try { _currentActiveImage = new Bitmap(fileName); Img.Source = new BitmapImage(new Uri(fileName)); SaveImageMenuItem.IsEnabled = true; _fileHasBeenSaved = false; _isMonochromatic = ImageProcessing.MonochromaticValidation(_currentActiveImage); } catch (NotSupportedException) { MessageBox.Show("Unknown image format", "Warning", MessageBoxButton.OK, MessageBoxImage.Error); } } else { SaveCurrentActiveImage(); } } Apply.IsEnabled = true; _imageWithoutChanges = ImageProcessing.CopyImage(_currentActiveImage); Revert.IsEnabled = true; }