public void TestBlackWhite()
        {
            // Load image from Resource file.
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Resources));
            Bitmap testImageOrigin   = ((System.Drawing.Bitmap)(resources.GetObject("testImageOrigin")));
            Bitmap testImageFiltered = ((System.Drawing.Bitmap)(resources.GetObject("testImageBlackWhite")));

            IFilter testFilter = new BlackWhiteFilter();
            Bitmap  tmp        = testFilter.applyFilter(testImageOrigin, 0, 0, 0, 0, new Color());

            // We check if the resulted image is equal to the testImage
            bool equal = true;

            for (int x = 0; x < testImageFiltered.Width; x++)
            {
                for (int y = 0; y < testImageFiltered.Height; y++)
                {
                    if (testImageFiltered.GetPixel(x, y) != tmp.GetPixel(x, y))
                    {
                        equal = false;
                    }
                }
            }
            Assert.IsTrue(equal);
        }
Example #2
0
        /*
         * private static GaussianBlurFilter GaussianBlurForm(GaussianBlurFilter filter) {
         *  using (GaussianFilterForm form = new GaussianFilterForm(filter.Size, filter.Sigma)) {
         *      if (form.ShowDialog() == DialogResult.OK) {
         *          GaussianBlurFilter newFilter = new GaussianBlurFilter(form.size, form.sigma);
         *          return newFilter;
         *      }
         *      return null;
         *  }
         * }
         */
        /*
         * private static MedianBlurFilter MedianBlurForm(MedianBlurFilter filter) {
         *  using (MedianBlurFilterForm form = new MedianBlurFilterForm(filter.Size)) {
         *      if (form.ShowDialog() == DialogResult.OK) {
         *          MedianBlurFilter newFilter = new MedianBlurFilter(form.size);
         *          return newFilter;
         *      }
         *      return null;
         *  }
         * }
         */

        /*
         * private static GaussianSharpenFilter GaussianSharpenForm(GaussianSharpenFilter filter) {
         *  using (GaussianFilterForm form = new GaussianFilterForm(filter.Size, filter.Sigma)) {
         *      if (form.ShowDialog() == DialogResult.OK) {
         *          GaussianSharpenFilter newFilter = new GaussianSharpenFilter(form.Radius, form.Sigma);
         *          return newFilter;
         *      }
         *      return null;
         *  }
         * }
         */

        private static BlackWhiteFilter BlackWhiteForm(Bitmap image, BlackWhiteFilter filter)
        {
            using (BlackWhiteFilterForm form = new BlackWhiteFilterForm(image, filter.Red, filter.Green, filter.Blue)) {
                if (form.ShowDialog() == DialogResult.OK)
                {
                    BlackWhiteFilter newFilter = form.filter;
                    return(newFilter);
                }
                return(null);
            }
        }
Example #3
0
        public void BlackWhiteFilterConstructorTest()
        {
            Bitmap        b            = new Bitmap(10, 10);
            IntPtr        Scan0        = new IntPtr(); // TODO: Passenden Wert initialisieren
            int           stride       = 0;            // TODO: Passenden Wert initialisieren
            int           height_start = 0;            // TODO: Passenden Wert initialisieren
            int           height_end   = 0;            // TODO: Passenden Wert initialisieren
            ThreadHandler thInfo       = null;         // TODO: Passenden Wert initialisieren

            int[]            i      = new int[2];
            BlackWhiteFilter target = new BlackWhiteFilter(b, Scan0, stride, height_start, height_end, thInfo, i);
        }
 private void blackWhiteButton_Click(object sender, EventArgs e)
 {
     using (BlackWhiteFilterForm form = new BlackWhiteFilterForm(ImageProcessingController.Instance.GetNode(SelectedNodeIndex).Output)) {
         if (form.ShowDialog() == DialogResult.OK)
         {
             BlackWhiteFilter filter = form.filter;
             ImageProcessingController.Instance.AddNode(filter);
             RebuildImageView(ImageProcessingController.Instance.NodesCount - 1);
             SelectNode(filterThumbsGrid.Rows.Count - 1);
         }
     }
 }
Example #5
0
        public static bool ModifyFilter(int index)
        {
            Model.Node     selectedNode = ImageProcessingController.Instance.GetNode(index);
            AbstractFilter filter       = selectedNode.Filter;
            Type           t            = filter.GetType();

            /*
             #region Gaussian Blur Filter : Update
             * if (t == typeof(GaussianBlurFilter)) {
             *  GaussianBlurFilter updatedFilter = (GaussianBlurFilter)filter;
             *  updatedFilter = GaussianBlurForm(updatedFilter);
             *
             *  if (updatedFilter != null) {
             *      ImageProcessingController.Instance.GetNode(index).SetFilter(updatedFilter);
             *      return true;
             *  }
             * }
             #endregion
             *
             #region Gaussian Sharpen Filter : Update
             * if (t == typeof(GaussianSharpenFilter)) {
             *  GaussianSharpenFilter updatedFilter = (GaussianSharpenFilter)filter;
             *  updatedFilter = GaussianSharpenForm(updatedFilter);
             *
             *  if (updatedFilter != null) {
             *      ImageProcessingController.Instance.GetNode(index).SetFilter(updatedFilter);
             *      return true;
             *  }
             * }
             #endregion
             */

            /*
             #region Median Blur Filter : Update
             * if (t == typeof(MedianBlurFilter)) {
             *  MedianBlurFilter updatedFilter = (MedianBlurFilter)filter;
             *  updatedFilter = MedianBlurForm(updatedFilter);
             *
             *  if (updatedFilter != null) {
             *      ImageProcessingController.Instance.GetNode(index).SetFilter(updatedFilter);
             *      return true;
             *  }
             * }
             #endregion
             */

            #region Black White Filter : Update
            if (t == typeof(BlackWhiteFilter))
            {
                BlackWhiteFilter updatedFilter = (BlackWhiteFilter)filter;
                updatedFilter = BlackWhiteForm(selectedNode.Input, updatedFilter);

                if (updatedFilter != null)
                {
                    ImageProcessingController.Instance.GetNode(index).SetFilter(updatedFilter);
                    return(true);
                }
            }
            #endregion


            #region Brightness Filter
            if (t == typeof(BrightnessFilter))
            {
                BrightnessFilter updatedFilter = (BrightnessFilter)filter;
                updatedFilter = BrightnessForm(selectedNode.Input, updatedFilter.Value);

                if (updatedFilter != null)
                {
                    ImageProcessingController.Instance.GetNode(index).SetFilter(updatedFilter);
                    return(true);
                }
            }
            #endregion

            #region Contrast Filter
            if (t == typeof(ContrastFilter))
            {
                ContrastFilter oldFilter = (ContrastFilter)filter;
                AbstractFilter newFilter = ContrastForm(selectedNode.Input, oldFilter.Value);

                if (newFilter != null)
                {
                    ImageProcessingController.Instance.GetNode(index).SetFilter(newFilter);
                    return(true);
                }
            }
            #endregion

            #region Contrast Stretch Filter
            if (t == typeof(ContrastStretchFilter))
            {
                AbstractFilter updatedFilter = ContrastStretchForm(selectedNode.Input);

                if (updatedFilter != null)
                {
                    ImageProcessingController.Instance.GetNode(index).SetFilter(updatedFilter);
                    return(true);
                }
            }
            #endregion

            return(false);
        }
 private void applyButton_Click(object sender, EventArgs e)
 {
     ReadParameters();
     DialogResult = DialogResult.OK;
     filter       = new BlackWhiteFilter(Red, Green, Blue);
 }