public double Saturation { get; set; }
The amount to change the saturation of each pixel. Default value is 0.5.
Negative values decrease the saturation of colors. Positive values increase the saturation. The saturation level is increased or decreased by a percentage of its present saturation level. For example, an increase of 20 of the current saturation level "L" will raise the new saturation level "L1" to a value L + 0.20 * L. Likewise, increasing the saturation level 100 doubles the saturation level ( L1 = L + 1.0 * L). Decreasing the saturation level 100 will set the new saturation level to 0. This process is carried out for every pixel.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.Windows.Controls;
using Leadtools.Windows.Media;
using Leadtools.Windows.Media.Effects;
class DesaturateEffectExampleWindow : Window
{
public DesaturateEffectExampleWindow()
{
StackPanel sp = new StackPanel();
Content = sp;
ImageViewer theViewer = new ImageViewer();
theViewer.HorizontalAlignment = HorizontalAlignment.Center;
theViewer.VerticalAlignment = VerticalAlignment.Top;
theViewer.ImageHorizontalAlignment = HorizontalAlignment.Left;
theViewer.ImageVerticalAlignment = VerticalAlignment.Top;
sp.Children.Add(theViewer);
// Create the sliders
TextBlock tb = new TextBlock();
tb.HorizontalAlignment = HorizontalAlignment.Center;
tb.Text = "Saturation:";
sp.Children.Add(tb);
Slider theSlider = new Slider();
theSlider.Minimum = 0.0;
theSlider.Maximum = 1.0;
theSlider.Width = 400;
theSlider.Orientation = Orientation.Horizontal;
theSlider.IsSnapToTickEnabled = true;
theSlider.TickPlacement = System.Windows.Controls.Primitives.TickPlacement.BottomRight;
theSlider.TickFrequency = 0.1;
theSlider.AutoToolTipPrecision = 2;
theSlider.AutoToolTipPlacement = System.Windows.Controls.Primitives.AutoToolTipPlacement.BottomRight;
sp.Children.Add(theSlider);
// Load an image into the viewer
theViewer.Source = new BitmapImage(new Uri(System.IO.Path.Combine(LEAD_VARS.ImagesDir, "Cannon.jpg")));
// Create the effect
DesaturateEffect effect = new DesaturateEffect();
effect.Saturation = 0.5;
theViewer.ImageEffect = effect;
// Bind the properties
Binding bind = new Binding();
bind.Source = effect;
bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
bind.Path = new PropertyPath("Saturation");
theSlider.SetBinding(Slider.ValueProperty, bind);
Title = "Using DesaturateEffect";
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}