Exemplo n.º 1
0
        /// <summary>
        /// Constructs a new <see cref="IFilter{T}"/> from the include an omit configuration cards.
        /// </summary>
        /// <param name="include">the include configuration card</param>
        /// <param name="omit">the omit configuration card</param>
        /// <returns>the corresponding <see cref="IFilter{T}"/></returns>
        public IFilter <byte[]> GetFilter(string include, string omit)
        {
            IFilter <byte[]> filter;

            if (include != null && omit != null)
            {
                filter = new ConjunctionFilter <byte[]>
                {
                    Filters = new List <IFilter <byte[]> >
                    {
                        ParseFilter(include), new NegationFilter <byte[]> {
                            Filter = ParseFilter(omit)
                        }
                    }
                };
            }
            else if (include != null)
            {
                filter = ParseFilter(include);
            }
            else
            {
                filter = new NegationFilter <byte[]> {
                    Filter = ParseFilter(omit)
                };
            }
            return(filter);
        }
        private void negationButtonClick(object sender, RoutedEventArgs e)
        {
            if (imageHandler != null)
            {
                // TODO Background worker
                new Thread(() =>
                {
                    NegationFilter negationFilter = new NegationFilter();
                    imageHandler.ApplyFilter(image => negationFilter.ApplyFilter(image));

                    Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.ApplicationIdle, new Action(() =>
                    {
                        filteredImage.Source = BitmapLoader.loadBitmap(imageHandler.getFiltered());
                    }));
                }).Start();
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Constructs a new <see cref="IFilter{T}"/> from the include an omit configuration cards.
 /// </summary>
 /// <param name="include">the include configuration card</param>
 /// <param name="omit">the omit configuration card</param>
 /// <returns>the corresponding <see cref="IFilter{T}"/></returns>
 public IFilter<byte[]> GetFilter(string include, string omit)
 {
     IFilter<byte[]> filter;
     if (include != null && omit != null)
     {
         filter = new ConjunctionFilter<byte[]>
         {
             Filters = new List<IFilter<byte[]>>
             {
                 ParseFilter(include), new NegationFilter<byte[]> { Filter = ParseFilter(omit) }
             }
         };
     }
     else if (include != null)
     {
         filter = ParseFilter(include);
     }
     else
     {
         filter = new NegationFilter<byte[]> { Filter = ParseFilter(omit) };
     }
     return filter;
 }