-
Notifications
You must be signed in to change notification settings - Fork 967
/
BlackSaturationCurveEffect.cs
36 lines (32 loc) · 1.78 KB
/
BlackSaturationCurveEffect.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
#if NET9_0_OR_GREATER
namespace System.Drawing.Imaging.Effects;
/// <summary>
/// Sets the black saturation of an image. The black saturation is the point at which the darkest areas of the image
/// are converted to black.
/// </summary>
public class BlackSaturationCurveEffect : ColorCurveEffect
{
/// <summary>
/// Creates a new <see cref="BlackSaturationCurveEffect"/> with the given parameters.
/// </summary>
/// <param name="channel">The channel or channels that the effect is applied to.</param>
/// <param name="blackSaturation">
/// A value of t specifies that the interval [t, 255] is mapped linearly to the interval [0, 255]. For example, if
/// <paramref name="blackSaturation"/> is equal to 15, then color channel values in the interval [15, 255] are adjusted
/// so that they spread out over the interval [0, 255]. Color channel values less than 15 are set to 0.
/// </param>
/// <exception cref="ArgumentException"><paramref name="blackSaturation"/> is less than 0 or greater than 254.</exception>
public BlackSaturationCurveEffect(CurveChannel channel, int blackSaturation)
: base(CurveAdjustments.AdjustBlackSaturation, channel, blackSaturation)
{
}
/// <summary>
/// A value of t specifies that the interval [t, 255] is mapped linearly to the interval [0, 255]. For example, if
/// <see cref="BlackSaturation"/> is equal to 15, then color channel values in the interval [15, 255] are adjusted
/// so that they spread out over the interval [0, 255]. Color channel values less than 15 are set to 0.
/// </summary>
public int BlackSaturation => AdjustValue;
}
#endif