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
Syntax
Example
Visual Basic | Copy 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";
} |
SilverlightCSharp | Copy 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);
}
} |
SilverlightVB | Copy 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 |
XAML | Copy 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
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