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