private void UpdateFilteredImage()
        {
            //IFilter filter = new IdentityFilter();
            //IFilter filter = new LensFilter();
            IFilter filter = new WarmingFilter85();

            ParameterizedFilter parameterizedFilter = filter as ParameterizedFilter;

            if (parameterizedFilter != null)
            {
                parameterizedFilter.Parameter = SliderDensity.Value;
            }

            bitmapInfoFiltered = filter.GetFilteredImage(bitmapInfoSource);

            ImageFiltered.Source =
                Imaging.CreateBitmapSourceFromHBitmap(
                    bitmapInfoFiltered.ToBitmap().GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
        }
        private void ButtonSaveResult_Click(object sender, RoutedEventArgs e)
        {
            if (bitmapInfoFiltered == null)
            {
                return;
            }

            SaveFileDialog dialogSaveFile = new SaveFileDialog();

            dialogSaveFile.Filter           = "Supported images|*.png";
            dialogSaveFile.InitialDirectory = Path.GetDirectoryName(ImageSourceFileName);
            dialogSaveFile.FileName         = AddToFileName(ImageSourceFileName, "-filtered");

            if ((bool)dialogSaveFile.ShowDialog())
            {
                Stream saveStream;
                if ((saveStream = dialogSaveFile.OpenFile()) != null)
                {
                    bitmapInfoFiltered.ToBitmap().Save(saveStream, ImageFormat.Png);
                    saveStream.Close();
                }
            }
        }