Ejemplo n.º 1
0
        private String Window_OnDrop_Sub(DragEventArgs e)
        {
            if (!e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                return("Not a file!");
            }

            String[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
            if (files.Length > 1)
            {
                return("Too many files!");
            }

            ImageSourceFileName = files[0];

            if (!File.Exists(ImageSourceFileName))
            {
                return("Not a file!");
            }

            FileStream fs = null;

            try
            {
                fs = File.Open(ImageSourceFileName, FileMode.Open, FileAccess.Read, FileShare.None);
            }
            catch (IOException)
            {
                if (fs != null)
                {
                    fs.Close();
                }
                return("File already in use!");
            }


            Bitmap bitmapSource = null;

            try
            {
                bitmapSource = new Bitmap(fs);
            }
            catch (System.Exception /*ex*/)
            {
                bitmapSource.Dispose();
                return("Not an image!");
            }

            ImageSource.Source =
                Imaging.CreateBitmapSourceFromHBitmap(
                    bitmapSource.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
            bitmapInfoSource = new BitmapInfo(bitmapSource);

            UpdateFilteredImage();

            return(null);
        }
Ejemplo n.º 2
0
        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());
        }