HueSaturationLightnessFilter Class

A filter that can be used to change hue, saturation and lightness differently based on each hue value in the image.

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

Lumia.Imaging.Adjustments.HueSaturationLightnessFilter = function();


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

    filter.HueCurve = new Curve();
    filter.HueCurve.SetPoint(0, 0);
    filter.HueCurve.SetPoint(10, 20);
    filter.HueCurve.SetPoint(200, 500);

    filter.SaturationCurve = new Curve();
    filter.SaturationCurve.SetPoint(0, 0);
    filter.SaturationCurve.SetPoint(10, 20);
    filter.SaturationCurve.SetPoint(200, 240);

    filter.LightnessCurve = new Curve();
    filter.LightnessCurve.SetPoint(0, 0);
    filter.LightnessCurve.SetPoint(10, 20);
    filter.LightnessCurve.SetPoint(200, 240);

    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, "HueSaturationLightnessFilter.jpg", outputImageSize);


Lumia Imaging SDK

Supported in: 2.0