LEADTOOLS WPF and Silverlight (Leadtools.Windows.Media.Effects assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.30
ContrastAdjustEffect Class
See Also  Members  
Leadtools.Windows.Media.Effects Namespace : ContrastAdjustEffect Class



The ContrastAdjustEffect Class supports WPF/Silverlight.

Enhances the image colors by adjusting the image brightness and contrast using specified values. Supported in Silverlight

Object Model

ContrastAdjustEffect Class

Syntax

Visual Basic (Declaration) 
Public Class ContrastAdjustEffect 
   Inherits System.Windows.Media.Effects.ShaderEffect
   Implements IAnimatable 
Visual Basic (Usage)Copy Code
Dim instance As ContrastAdjustEffect
C# 
public class ContrastAdjustEffect : System.Windows.Media.Effects.ShaderEffect, IAnimatable  
C++/CLI 
public ref class ContrastAdjustEffect : public System.Windows.Media.Effects.ShaderEffect, IAnimatable  

Example

Visual BasicCopy Code
Class ContrastAdjustEffectExampleWindow
      Inherits Window
      Public Sub New()
         Dim sp As New StackPanel()
         Content = sp
         Dim theViewer As 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
         Dim tb As New TextBlock()
         tb.HorizontalAlignment = HorizontalAlignment.Center
         tb.Text = "Brightness:"
         sp.Children.Add(tb)

         Dim brightnessSlider As 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)

         Dim contrastSlider As 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
         Dim effect As New ContrastAdjustEffect()
         effect.Brightness = 0.0
         effect.Contrast = 1.2
         theViewer.ImageEffect = effect

         ' Bind the properties
         Dim bind As 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"
      End Sub
   End Class

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
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:\Users\Public\Documents\LEADTOOLS Images";
}
SilverlightCSharpCopy Code
class ContrastAdjustEffectExampleWindow : UserControl
{
   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;

      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;

      sp.Children.Add(contrastSlider);

      // Load an image into the viewer
      theViewer.Source = new BitmapImage(new Uri(LeadtoolsExamples.Common.ImagesPath.Path + "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.Default;
      bind.Path = new PropertyPath("Brightness");
      brightnessSlider.SetBinding(Slider.ValueProperty, bind);

      bind = new Binding();
      bind.Source = effect;
      bind.UpdateSourceTrigger = UpdateSourceTrigger.Default;
      bind.Path = new PropertyPath("Contrast");
      contrastSlider.SetBinding(Slider.ValueProperty, bind);
   }
}
SilverlightVBCopy Code
Class ContrastAdjustEffectExampleWindow
   Inherits UserControl
   Public Sub New()
      Dim sp As New StackPanel()
      Content = sp
      Dim theViewer As 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
      Dim tb As New TextBlock()
      tb.HorizontalAlignment = HorizontalAlignment.Center
      tb.Text = "Brightness:"
      sp.Children.Add(tb)

      Dim brightnessSlider As New Slider()
      brightnessSlider.Minimum = 0.0
      brightnessSlider.Maximum = 2.0
      brightnessSlider.Width = 400
      brightnessSlider.Orientation = Orientation.Horizontal

      sp.Children.Add(brightnessSlider)

      tb = New TextBlock()
      tb.HorizontalAlignment = HorizontalAlignment.Center
      tb.Text = "Contrast:"
      sp.Children.Add(tb)

      Dim contrastSlider As New Slider()
      contrastSlider.Minimum = 0.0
      contrastSlider.Maximum = 2.0
      contrastSlider.Width = 400
      contrastSlider.Orientation = Orientation.Horizontal

      sp.Children.Add(contrastSlider)

      ' Load an image into the viewer
      theViewer.Source = New BitmapImage(New Uri(LeadtoolsExamples.Common.ImagesPath.Path + "Cannon.jpg"))

      ' Create the effect
      Dim effect As New ContrastAdjustEffect()
      effect.Brightness = 0.0
      effect.Contrast = 1.2
      theViewer.ImageEffect = effect

      ' Bind the properties
      Dim bind As New Binding()
      bind.Source = effect
      bind.UpdateSourceTrigger = UpdateSourceTrigger.Default
      bind.Path = New PropertyPath("Brightness")
      brightnessSlider.SetBinding(Slider.ValueProperty, bind)

      bind = New Binding()
      bind.Source = effect
      bind.UpdateSourceTrigger = UpdateSourceTrigger.Default
      bind.Path = New PropertyPath("Contrast")
      contrastSlider.SetBinding(Slider.ValueProperty, bind)
   End Sub
End Class
XAMLCopy Code
<Window x:Class="ContrastAdjustEffectExample" Height="600" Width="800" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:leadControls="clr-namespace:Leadtools.Windows.Controls;assembly=Leadtools.Windows.Controls" xmlns:leadEffects="clr-namespace:Leadtools.Windows.Media.Effects;assembly=Leadtools.Windows.Media.Effects">
  <StackPanel>
    <leadControls:ImageViewer HorizontalAlignment="Center" VerticalAlignment="Top" ImageHorizontalAlignment="Left" ImageVerticalAlignment="Top" Source="file:///c:\users\Public\Documents\LEADTOOLS Images\cannon.jpg">
      <leadControls:ImageViewer.ImageEffect>
        <leadEffects:ContrastAdjustEffect Brightness="{Binding Value, ElementName=BrightnessSlider, UpdateSourceTrigger=PropertyChanged}" Contrast="{Binding Value, ElementName=ContrastSlider, UpdateSourceTrigger=PropertyChanged}"></leadEffects:ContrastAdjustEffect>
      </leadControls:ImageViewer.ImageEffect>
    </leadControls:ImageViewer>
    <TextBlock HorizontalAlignment="Center" Text="Brightness:" />
    <Slider x:Name="BrightnessSlider" Minimum="0.0" Maximum="2.0" TickFrequency="0.1" Width="400" Orientation="Horizontal" IsSnapToTickEnabled="True" TickPlacement="BottomRight" AutoToolTipPrecision="2" AutoToolTipPlacement="BottomRight"></Slider>
    <TextBlock HorizontalAlignment="Center" Text="Contrast:" />
    <Slider x:Name="ContrastSlider" Minimum="0.0" Maximum="2.0" TickFrequency="0.1" Width="400" Orientation="Horizontal" IsSnapToTickEnabled="True" TickPlacement="BottomRight" AutoToolTipPrecision="2" AutoToolTipPlacement="BottomRight"></Slider>
  </StackPanel>
</Window>

Inheritance Hierarchy

System.Object
   System.Windows.Threading.DispatcherObject
      System.Windows.DependencyObject
         System.Windows.Freezable
            System.Windows.Media.Animation.Animatable
               System.Windows.Media.Effects.Effect
                  System.Windows.Media.Effects.ShaderEffect
                     Leadtools.Windows.Media.Effects.ContrastAdjustEffect

Requirements

Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)

See Also