public static Bitmap CrazyFilter(this Bitmap sourceBitmap) { System.Drawing.Image te = ImageFilters.ApplyFilterSwapDivide(sourceBitmap, 1, 1, 2, 1); Bitmap resultBitmap = ImageFilters.ApplyFilterSwap(new Bitmap(te)); return(resultBitmap); }
public static Bitmap SwapFilter(this Bitmap sourceBitmap) { //Test added to avoid the use of a null image if (sourceBitmap == null) { return(null); } Bitmap resultBitmap = ImageFilters.ApplyFilterSwap(sourceBitmap); return(resultBitmap); }
/// <summary> /// Checks for the selected filters and apply them /// one by one (if many). /// It creates a temporary bitmap and sets the preview /// and the result image accordind to the filters modifications. /// </summary> private void applyfilters() { Bitmap temp = originalBitmap; if (temp != null) { if (swapFilterCheckBox.Checked) { temp = ImageFilters.ApplyFilterSwap(new Bitmap(temp)); } if (crazyFilterCheckBox.Checked) { temp = ImageFilters.ApplyFilterSwapDivide(new Bitmap(temp), 1, 1, 2, 1); temp = ImageFilters.ApplyFilterSwap(new Bitmap(temp)); } setPreviewPic(temp); resultBitmap = temp; previewBitmap = temp; } }
private void ApplyFilter(bool preview) { if (previewBitmap == null || cmbEdgeDetection.SelectedIndex == -1) { return; } Bitmap selectedSource = null; Bitmap bitmapResult = null; Bitmap tempImage = null; if (preview == true) { selectedSource = previewBitmap; } else { selectedSource = originalBitmap; } switch (cmbImageFilter.SelectedItem.ToString()) { case "None": tempImage = selectedSource; break; case "Night Filter": tempImage = ImageFilters.ApplyFilter(selectedSource, 1, 1, 1, 25); break; case "Hell Filter": tempImage = ImageFilters.ApplyFilter(selectedSource, 1, 1, 10, 15); break; case "Miami Filter": tempImage = ImageFilters.ApplyFilter(selectedSource, 1, 1, 10, 1); break; case "Zen Filter": tempImage = ImageFilters.ApplyFilter(selectedSource, 1, 10, 1, 1); break; case "Black and White": tempImage = ImageFilters.BlackWhite(selectedSource); break; case "Swap Filter": tempImage = ImageFilters.ApplyFilterSwap(selectedSource); break; case "Crazy Filter": System.Drawing.Image te = ImageFilters.ApplyFilterSwapDivide(selectedSource, 1, 1, 2, 1); tempImage = ImageFilters.ApplyFilterSwap(new Bitmap(te)); break; case "Mega Filter Green": tempImage = ImageFilters.ApplyFilterMega(selectedSource, 230, 110, Color.Green); break; case "Mega Filter Orange": tempImage = ImageFilters.ApplyFilterMega(selectedSource, 230, 110, Color.Orange); break; case "Mega Filter Pink": tempImage = ImageFilters.ApplyFilterMega(selectedSource, 230, 110, Color.Pink); break; case "Mega Filter Custom": tempImage = ImageFilters.ApplyFilterMega(selectedSource, 230, 110, Color.Blue); break; case "Rainbow Filter": tempImage = ImageFilters.RainbowFilter(selectedSource); break; } switch (cmbEdgeDetection.SelectedItem.ToString()) { case "None": bitmapResult = tempImage; break; case "Laplacian 3x3": bitmapResult = tempImage.Laplacian3x3Filter(false); break; case "Laplacian 3x3 Grayscale": bitmapResult = tempImage.Laplacian3x3Filter(true); break; case "Laplacian 5x5": bitmapResult = tempImage.Laplacian5x5Filter(false); break; case "Laplacian 5x5 Grayscale": bitmapResult = tempImage.Laplacian5x5Filter(true); break; case "Laplacian of Gaussian": bitmapResult = tempImage.LaplacianOfGaussianFilter(); break; case "Laplacian 3x3 of Gaussian 3x3": bitmapResult = tempImage.Laplacian3x3OfGaussian3x3Filter(); break; case "Laplacian 3x3 of Gaussian 5x5 - 1": bitmapResult = tempImage.Laplacian3x3OfGaussian5x5Filter1(); break; case "Laplacian 3x3 of Gaussian 5x5 - 2": bitmapResult = tempImage.Laplacian3x3OfGaussian5x5Filter2(); break; case "Laplacian 5x5 of Gaussian 3x3": bitmapResult = tempImage.Laplacian5x5OfGaussian3x3Filter(); break; case "Laplacian 5x5 of Gaussian 5x5 - 1": bitmapResult = tempImage.Laplacian5x5OfGaussian5x5Filter1(); break; case "Laplacian 5x5 of Gaussian 5x5 - 2": bitmapResult = tempImage.Laplacian5x5OfGaussian5x5Filter2(); break; case "Sobel 3x3": bitmapResult = tempImage.Sobel3x3Filter(false); break; case "Sobel 3x3 Grayscale": bitmapResult = tempImage.Sobel3x3Filter(); break; case "Prewitt": bitmapResult = tempImage.PrewittFilter(false); break; case "Prewitt Grayscale": bitmapResult = tempImage.PrewittFilter(); break; case "Kirsch": bitmapResult = tempImage.KirschFilter(false); break; case "Kirsch Grayscale": bitmapResult = tempImage.KirschFilter(); break; } if (bitmapResult != null) { if (preview == true) { picPreview.Image = bitmapResult; } else { resultBitmap = bitmapResult; } } }