public class ContrastAdjustEffect : ShaderEffect
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using Leadtools.Windows.Controls;
using Leadtools.Windows.Media;
using Leadtools.Windows.Media.Effects;
class ContrastAdjustEffectExampleWindow : Window
{
public ContrastAdjustEffectExampleWindow()
{
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 = "Brightness:";
sp.Children.Add(tb);
Slider brightnessSlider = new Slider();
brightnessSlider.Minimum = 0.0;
brightnessSlider.Maximum = 2.0;
brightnessSlider.Width = 400;
brightnessSlider.Orientation = Orientation.Horizontal;
brightnessSlider.IsSnapToTickEnabled = true;
brightnessSlider.TickPlacement = System.Windows.Controls.Primitives.TickPlacement.BottomRight;
brightnessSlider.TickFrequency = 0.1;
brightnessSlider.AutoToolTipPrecision = 2;
brightnessSlider.AutoToolTipPlacement = System.Windows.Controls.Primitives.AutoToolTipPlacement.BottomRight;
sp.Children.Add(brightnessSlider);
tb = new TextBlock();
tb.HorizontalAlignment = HorizontalAlignment.Center;
tb.Text = "Contrast:";
sp.Children.Add(tb);
Slider contrastSlider = new Slider();
contrastSlider.Minimum = 0.0;
contrastSlider.Maximum = 2.0;
contrastSlider.Width = 400;
contrastSlider.Orientation = Orientation.Horizontal;
contrastSlider.IsSnapToTickEnabled = true;
contrastSlider.TickPlacement = System.Windows.Controls.Primitives.TickPlacement.BottomRight;
contrastSlider.TickFrequency = 0.1;
contrastSlider.AutoToolTipPrecision = 2;
contrastSlider.AutoToolTipPlacement = System.Windows.Controls.Primitives.AutoToolTipPlacement.BottomRight;
sp.Children.Add(contrastSlider);
// Load an image into the viewer
theViewer.Source = new BitmapImage(new Uri(System.IO.Path.Combine(LEAD_VARS.ImagesDir, "Cannon.jpg")));
// Create the effect
ContrastAdjustEffect effect = new ContrastAdjustEffect();
effect.Brightness = 0.0;
effect.Contrast = 1.2;
theViewer.ImageEffect = effect;
// Bind the properties
Binding bind = new Binding();
bind.Source = effect;
bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
bind.Path = new PropertyPath("Brightness");
brightnessSlider.SetBinding(Slider.ValueProperty, bind);
bind = new Binding();
bind.Source = effect;
bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
bind.Path = new PropertyPath("Contrast");
contrastSlider.SetBinding(Slider.ValueProperty, bind);
Title = "Using ContrastAdjustEffect";
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}