Share via


GrayscaleFilter Class

Converts the image to grayscale using a mixture of the color components.
Dn899408.GrayscaleFilter(en-us,WIN.10).jpg

Namespace: Lumia.Imaging.Adjustments
Assembly: Lumia.Imaging (in Lumia.Imaging.dll) Version: 255.255.255.255

Syntax

public sealed class GrayscaleFilter : IFilter, 
    __IGrayscaleFilterPublicNonVirtuals
'Declaration
Public NotInheritable Class GrayscaleFilter
    Implements IFilter, __IGrayscaleFilterPublicNonVirtuals
public ref class GrayscaleFilter sealed : IFilter, 
    __IGrayscaleFilterPublicNonVirtuals
Lumia.Imaging.Adjustments.GrayscaleFilter = function();

Type.createClass(
    'Lumia.Imaging.Adjustments.GrayscaleFilter',
    null,
    Lumia.Imaging.IFilter,
    Lumia.Imaging.Adjustments.__IGrayscaleFilterPublicNonVirtuals);

Remarks

The gray shade is calculated by multiplying each color component of every pixel with the matching weight and adding a constant: resultShade = redValue * redWeight + greenValue * greenWeight + blueValue * blueWeight + constant. The resulting shade is clamped to the range [0,1].

Examples

using (var filterEffect = new FilterEffect(source))
{
    // Initialize the filter and add the filter to the FilterEffect collection
    var filter = new GrayscaleFilter();

    filterEffect.Filters = new IFilter[] { filter };

    // Create a target where the filtered image will be rendered to
    var target = new WriteableBitmap(width, height);

    // Create a new renderer which outputs WriteableBitmaps
    using (var renderer = new WriteableBitmapRenderer(filterEffect, target))
    {
        // Render the image with the filter(s)
        await renderer.RenderAsync();

        // Set the output image to Image control as a source
        ImageControl.Source = target;
    }

    await SaveEffectAsync(filterEffect, "GrayscaleFilter.jpg", outputImageSize);
}

Inheritance Hierarchy

System.Object
  Lumia.Imaging.Adjustments.GrayscaleFilter

Version Information

Lumia Imaging SDK

Supported in: 2.0

See Also

GrayscaleFilter.GrayscaleFilter Members

Lumia.Imaging.Adjustments Namespace