The BrightExtractEffect Class supports WPF/Silverlight.
Adjust the image brightness based on the given threshold. Supported in Silverlight
| Visual Basic (Declaration) | |
|---|---|
Public Class BrightExtractEffect Inherits System.Windows.Media.Effects.ShaderEffect Implements IAnimatable | |
| Visual Basic (Usage) | Copy Code |
|---|---|
Dim instance As BrightExtractEffect | |
| C# | |
|---|---|
public class BrightExtractEffect : System.Windows.Media.Effects.ShaderEffect, IAnimatable | |
| C++/CLI | |
|---|---|
public ref class BrightExtractEffect : public System.Windows.Media.Effects.ShaderEffect, IAnimatable | |
| Visual Basic | Copy Code |
|---|---|
Class BrightExtractEffectExampleWindow 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 slider Dim tb As New TextBlock() tb.HorizontalAlignment = HorizontalAlignment.Center tb.Text = "Threshold:" sp.Children.Add(tb) Dim theSlider As New Slider() theSlider.Minimum = -1.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 Dim effect As New BrightExtractEffect() effect.Threshold = 0.7 theViewer.ImageEffect = effect ' Bind the properties Dim bind As New Binding() bind.Source = effect bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged bind.Path = New PropertyPath("Threshold") theSlider.SetBinding(Slider.ValueProperty, bind) Title = "Using BrightExtractEffect" 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 BrightExtractEffectExampleWindow : Window { public BrightExtractEffectExampleWindow() { 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 slider TextBlock tb = new TextBlock(); tb.HorizontalAlignment = HorizontalAlignment.Center; tb.Text = "Threshold:"; sp.Children.Add(tb); Slider theSlider = new Slider(); theSlider.Minimum = -1.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 BrightExtractEffect effect = new BrightExtractEffect(); effect.Threshold = 0.7; theViewer.ImageEffect = effect; // Bind the properties Binding bind = new Binding(); bind.Source = effect; bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; bind.Path = new PropertyPath("Threshold"); theSlider.SetBinding(Slider.ValueProperty, bind); Title = "Using BrightExtractEffect"; } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } | |
| SilverlightCSharp | Copy Code |
|---|---|
class BrightExtractEffectExampleWindow : UserControl { public BrightExtractEffectExampleWindow() { 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 slider TextBlock tb = new TextBlock(); tb.HorizontalAlignment = HorizontalAlignment.Center; tb.Text = "Threshold:"; sp.Children.Add(tb); Slider theSlider = new Slider(); theSlider.Minimum = -1.0; theSlider.Maximum = 1.0; theSlider.Width = 400; theSlider.Orientation = Orientation.Horizontal; sp.Children.Add(theSlider); // Load an image into the viewer theViewer.Source = new BitmapImage(new Uri(LeadtoolsExamples.Common.ImagesPath.Path + "Cannon.jpg")); // Create the effect BrightExtractEffect effect = new BrightExtractEffect(); effect.Threshold = 0.7; theViewer.ImageEffect = effect; // Bind the properties Binding bind = new Binding(); bind.Source = effect; bind.UpdateSourceTrigger = UpdateSourceTrigger.Default; bind.Path = new PropertyPath("Threshold"); theSlider.SetBinding(Slider.ValueProperty, bind); } } | |
| SilverlightVB | Copy Code |
|---|---|
Class BrightExtractEffectExampleWindow
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 slider
Dim tb As New TextBlock()
tb.HorizontalAlignment = HorizontalAlignment.Center
tb.Text = "Threshold:"
sp.Children.Add(tb)
Dim theSlider As New Slider()
theSlider.Minimum = -1.0
theSlider.Maximum = 1.0
theSlider.Width = 400
theSlider.Orientation = Orientation.Horizontal
sp.Children.Add(theSlider)
' 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 BrightExtractEffect()
effect.Threshold = 0.7
theViewer.ImageEffect = effect
' Bind the properties
Dim bind As New Binding()
bind.Source = effect
bind.UpdateSourceTrigger = UpdateSourceTrigger.Default
bind.Path = New PropertyPath("Threshold")
theSlider.SetBinding(Slider.ValueProperty, bind)
End Sub
End Class | |
| XAML | Copy Code |
|---|---|
<Window x:Class="BrightExtractEffectExample" 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:BrightExtractEffect Threshold="{Binding Value, ElementName=ThresholdSlider, UpdateSourceTrigger=PropertyChanged}"></leadEffects:BrightExtractEffect> </leadControls:ImageViewer.ImageEffect> </leadControls:ImageViewer> <TextBlock HorizontalAlignment="Center" Text="Threshold:" /> <Slider x:Name="ThresholdSlider" Minimum="-1.0" Maximum="1.0" TickFrequency="0.1" Width="400" Orientation="Horizontal" IsSnapToTickEnabled="True" TickPlacement="BottomRight" AutoToolTipPrecision="2" AutoToolTipPlacement="BottomRight"></Slider> </StackPanel> </Window> | |
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.BrightExtractEffect
Target Platforms: Silverlight 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only)
Copy Code