---
title: "C# .NET image filter: Sharpen, contrast, blur | Nutrient .NET SDK"
canonical_url: "https://www.nutrient.io/guides/dotnet/editor/manipulation/filters/"
md_url: "https://www.nutrient.io/guides/dotnet/editor/manipulation/filters.md"
last_updated: "2026-05-14T21:57:26.860Z"
description: "Explore how to apply image filters using C# .NET with Nutrient .NET SDK. Enhance and modify images programmatically with various filter options."
---

# Image filters using C# .NET

Filtering is one of the most common tasks performed on an image. All methods require at least one argument, `ImageID`, to identify the image where the filter is applied. For some methods, it’s also necessary to set the `KernelSize` parameter, which specifies the pixel size of the area where the filtering operation is performed.

To apply any filter method to a specific part of an image, use the [`SetROI`](#specifying-the-affected-area) method. If you don’t use the `setROI` method, the entire image will be filtered.

Some methods require additional [parameters](#parameters-specific-to-filters) that are specific to the applied filtering operation.

#### List of all available filtering methods

- Bitonal images:
  - [Aqua effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxAqua.html)
  - [Despeckle noise](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalDespeckle.html)
    :

    - [Intensified](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalDespeckleMore.html)
    - [Advanced](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalDespeckleAdvanced.html)
    - [Extreme](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalVigorousDespeckle.html)
  - [Dilate](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalDilate.html)
    :

    - [In four directions](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalDilate4.html)
    - [In eight directions](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalDilate8.html)
    - [Horizontal](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalDilateH.html)
    - [Vertical](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalDilateV.html)
  - [Erode](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalErode.html)
    :

    - [In four directions](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalErode4.html)
    - [In eight directions](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalErode8.html)
    - [Horizontal](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalErodeH.html)
    - [Vertical](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalErodeV.html)
  - [Fill holes](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalFillHolesHV.html)
    :

    - [Horizontal](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalFillHolesH.html)
    - [Vertical](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalFillHolesV.html)
  - [Morphological close operation](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalClose8.html)
  - [Morphological open operation](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalOpen8.html)
  - [Outline](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalOutline.html)
  - [Remove dots](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalRemoveIsolatedDots2x2.html)
    :

    - [In four directions](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalRemoveIsolatedDots4.html)
    - [In eight directions](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalRemoveIsolatedDots8.html)
  - [Skeletonization](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBitonalSkeletonize.html)

- Regular images:
  - [Blur](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBlur.html)
    :

    - [Gaussian](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxGaussian.html)
  - [Color dropout](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxColorDropout.html)
  - [Colorize](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxColorDropout.html)
  - [Connected contour effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxConnectedContour.html)
  - [Contour effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxContour.html)
  - [Contrast histogram stretch](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxStretchContrast.html)
  - [Convert to black and white](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBlackNWhite\(Int32,BitonalReduction\).html)
    :

    - [With palette color weight](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBlackNWhite\(Int32,BitonalReduction,Int32\).html)
    - [With threshold](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBlackNWhiteT.html)
  - [Convolution](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxConvolution.html)
  - [Despeckle noise](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxDespeckle.html)
    :

    - [Intensified](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxDespeckleMore.html)
  - [Diffuse](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxDiffuse.html)
    :

    - [Bigger](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxDiffuseMore.html)
  - [Dilate](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxDilate.html)
    :

    - [By maximum value](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxMax.html)
    - [By median](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxMedian.html)
    - [By minimum value](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxMin.html)
  - [Edge detection](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxPrewittEdgeDetect.html)
    :

    - [With Prewitt operator](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxPrewittEdgeDetect.html)
    - [With Sobel operator](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxSobelEdgeDetect.html)
  - [Edge enhancement](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEdgeEnhance.html)
  - [Emboss](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEmboss\(Int32\).html)
    :

    - [With specified background color](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEmboss\(Int32,Color\).html)
  - [Intensified emboss](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEmbossMore\(Int32\).html)
    :

    - [With specified background color](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEmbossMore\(Int32,Color\).html)
  - [Engrave](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEngrave\(Int32\).html)
    :

    - [With specified background color](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEngrave\(Int32,Color\).html)
  - [Intensified engrave](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEngraveMore\(Int32\).html)
    :

    - [With specified background color](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEngraveMore\(Int32,Color\).html)
  - [Equalize](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEqualizeIntensity.html)
  - [Erode](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxErode.html)
  - [Fire effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxFire.html)
  - [Grayscale](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxGrayscale.html)
  - [Halo effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxHalo.html)
  - [Mirror effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxMirrorRounded.html)
  - [Negative effect (color inversion)](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxNegative.html)
  - [Pixelize](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxPixelize.html)
  - [Red eyes correction](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxRedEyesCorrection.html)
  - [Relief effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxRelief.html)
  - [Remove chromatographic key](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~fxRemoveBackgroundChromaKey.html)
  - [Scan line effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxScanLine.html)
  - [Sepia](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxSepia.html)
  - [Sharpen](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxSharpen.html)
    :

    - [Intensified](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxSharpenMore.html)
    - [By unsharping mask](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxUnsharpMask.html)
  - [Smooth](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxSmooth.html)
  - [Soften](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxSoften.html)
  - [Subtract background](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxSubtractBackground.html)
    (rolling ball algorithm)

  - [Swirl effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxSwirl.html)
  - [Twirl effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxTwirl.html)
  - [Waves effect](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEngraveMore\(Int32\).html)
    :

    - [Horizontal](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxhWaves.html)
    - [Vertical](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxvWaves.html)

## Specifying the affected area

To apply a filter to part of an image, specify the area where you want to perform the filtering operation using the [`SetROI`](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~SetROI.html) method. This method takes the following parameters:

- The coordinates of the top-left corner of the affected area.

- The width of the affected area.

- The height of the affected area.

After applying the filter, remember to reset the affected area with the [`ResetROI`](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~ResetROI.html) method.

The origin of the coordinate system is the top left-corner of the original image.

To blur an area of 500×500 pixels with the top and left margins set to 100 pixels, use the following code:

### C#

```csharp

using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageID = gdpictureImaging.CreateGdPictureImageFromFile(@"C:\temp\source.jpg");
// Set the affected area.
gdpictureImaging.SetROI(100, 100, 500, 500);
// Blur the affected area.
gdpictureImaging.FxBlur(imageID);
// Reset the affected area.
gdpictureImaging.ResetROI();
gdpictureImaging.SaveAsPNG(imageID, @"C:\temp\output.png");
gdpictureImaging.ReleaseGdPictureImage(imageID);

```

### VB.NET

```vb

Using gdpictureImaging As GdPictureImaging = New GdPictureImaging()
    Dim imageID As Integer = gdpictureImaging.CreateGdPictureImageFromFile("C:\temp\source.jpg")
    ' Set the affected area.
    gdpictureImaging.SetROI(100, 100, 500, 500)
    ' Blur the affected area.
    gdpictureImaging.FxBlur(imageID)
    ' Reset the affected area.
    gdpictureImaging.ResetROI()
    gdImage.SaveAsPNG(imageID, "C:\temp\output.png")
    gdpictureImaging.ReleaseGdPictureImage(imageID)
End Using

```

#### Used methods

- [`CreateGdPictureImageFromFile`](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~CreateGdPictureImageFromFile.html)

- [`FxBlur`](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxBlur.html)

- [`ReleaseGdPictureImage`](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~ReleaseGdPictureImage.html)

- [`ResetROI`]

- [`SaveAsPNG`](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~SaveAsPNG.html)

- [`SetROI`]

#### Related topics

- [Load a file](/guides/dotnet/load-a-file.md)

- [Save a file](/guides/dotnet/save-a-file.md)

## Parameters specific to filters

Some filtering methods require additional parameters to specify how the filtering operation is performed. One of those methods is the [`FxEmboss`](https://www.nutrient.io/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~FxEmboss.html) method. In addition to the required `ImageID` parameter, this method also accepts the `BackColor` parameter, which specifies the dominant color of the output image. The following code embosses the image and sets the dominant color to bisque:

### C#

```csharp

using GdPictureImaging gdpictureImaging = new GdPictureImaging();
int imageID = gdpictureImaging.CreateGdPictureImageFromFile(@"C:\temp\source.jpg");
// Emboss the image and set the color to bisque.
gdpictureImaging.FxEmboss(imageID, Color.Bisque);
gdpictureImaging.SaveAsPNG(imageID, @"C:\temp\output.png");
gdpictureImaging.ReleaseGdPictureImage(imageID);

```

### VB.NET

```vb

Dim gdpictureImaging As New GdPictureImaging()
Dim imageID As Integer = gdpictureImaging.CreateGdPictureImageFromFile("C:\temp\source.jpg")
' Emboss the image and set the color to bisque.
gdpictureImaging.FxEmboss(imageID, Color.Bisque)
gdpictureImaging.SaveAsPNG(imageID, "C:\temp\output.png")
gdpictureImaging.ReleaseGdPictureImage(imageID)

```

#### Used methods

- [`CreateGdPictureImageFromFile`](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~CreateGdPictureImageFromFile.html)

- [`FxEmboss`]

- [`SaveAsPNG`](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~SaveAsPNG.html)

- [`SetROI`]

- [`ReleaseGdPictureImage`](/api/gdpicture/GdPicture.NET.14~GdPicture14.GdPictureImaging~ReleaseGdPictureImage.html)

- [`ResetROI`]

#### Related topics

- [Load a file](/guides/dotnet/load-a-file.md)

- [Save a file](/guides/dotnet/save-a-file.md)
---

## Related pages

- [Crop images in C# .NET](/guides/dotnet/editor/manipulation/crop.md)
- [Blur images in C# .NET](/guides/dotnet/editor/manipulation/blur.md)
- [Move or copy PDF pages and TIFF images in C#](/guides/dotnet/editor/manipulation/move-or-copy-page.md)
- [Remove pages from PDFs in C#](/guides/dotnet/editor/manipulation/remove-page.md)
- [PDF and image manipulation in C# .NET](/guides/dotnet/editor/manipulation.md)
- [Extract pages from a PDF in C#](/guides/dotnet/editor/manipulation/extract.md)
- [Set image or PDF colors in C#](/guides/dotnet/editor/manipulation/colors.md)
- [Rotate images and PDFs in C# .NET](/guides/dotnet/editor/manipulation/rotate.md)
- [Replace colors in an image](/guides/dotnet/editor/manipulation/replace-colors-from-image.md)

