Products | Support | Back to Introduction | Email a link to this topic. | Back to Introduction - All Topics | Help Version 19.0.4.23
|
Leadtools.Windows.Media.Effects Namespace : IntensityDetectEffect Class |
public class IntensityDetectEffect : System.Windows.Media.Effects.ShaderEffect, System.Windows.Media.Animation.IAnimatable
'Declaration Public Class IntensityDetectEffect Inherits System.Windows.Media.Effects.ShaderEffect Implements System.Windows.Media.Animation.IAnimatable
'Usage Dim instance As IntensityDetectEffect
public ref class IntensityDetectEffect : public System.Windows.Media.Effects.ShaderEffect, System.Windows.Media.Animation.IAnimatable
This effect converts the image to a black and white, based on the threshold Intensity. Values less than Intensity are set to black while values larger than Intensity are set to white.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing Imports Leadtools.Windows.Controls Imports Leadtools.Windows.Media Imports Leadtools.Windows.Media.Effects Class IntensityDetectEffectExampleWindow 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 = "Intensity:" sp.Children.Add(tb) Dim theSlider As New Slider() theSlider.Minimum = 0.0 theSlider.Maximum = 256.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 IntensityDetectEffect() effect.Intensity = 128.5 theViewer.ImageEffect = effect ' Bind the properties Dim bind As New Binding() bind.Source = effect bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged bind.Path = New PropertyPath("Intensity") theSlider.SetBinding(Slider.ValueProperty, bind) Title = "Using IntensityDetectEffect" End Sub End Class Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.Windows.Controls; using Leadtools.Windows.Media; using Leadtools.Windows.Media.Effects; class IntensityDetectEffectExampleWindow : Window { public IntensityDetectEffectExampleWindow() { 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 = "Intensity:"; sp.Children.Add(tb); Slider theSlider = new Slider(); theSlider.Minimum = 0.0; theSlider.Maximum = 256.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 IntensityDetectEffect effect = new IntensityDetectEffect(); effect.Intensity = 128.5; theViewer.ImageEffect = effect; // Bind the properties Binding bind = new Binding(); bind.Source = effect; bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; bind.Path = new PropertyPath("Intensity"); theSlider.SetBinding(Slider.ValueProperty, bind); Title = "Using IntensityDetectEffect"; } } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; using Leadtools.Windows.Media; using Leadtools.Windows.Media.Effects; using Leadtools.Windows.Controls; class IntensityDetectEffectExampleWindow : UserControl { public IntensityDetectEffectExampleWindow() { 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 = "Intensity:"; sp.Children.Add(tb); Slider theSlider = new Slider(); theSlider.Minimum = 0.0; theSlider.Maximum = 256.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 IntensityDetectEffect effect = new IntensityDetectEffect(); effect.Intensity = 128.5; theViewer.ImageEffect = effect; // Bind the properties Binding bind = new Binding(); bind.Source = effect; bind.UpdateSourceTrigger = UpdateSourceTrigger.Default; bind.Path = new PropertyPath("Intensity"); theSlider.SetBinding(Slider.ValueProperty, bind); } }
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing Imports Leadtools.Windows.Controls Imports Leadtools.Windows.Media Imports Leadtools.Windows.Media.Effects Class IntensityDetectEffectExampleWindow 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 = "Intensity:" sp.Children.Add(tb) Dim theSlider As New Slider() theSlider.Minimum = 0.0 theSlider.Maximum = 256.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 IntensityDetectEffect() effect.Intensity = 128.5 theViewer.ImageEffect = effect ' Bind the properties Dim bind As New Binding() bind.Source = effect bind.UpdateSourceTrigger = UpdateSourceTrigger.Default bind.Path = New PropertyPath("Intensity") theSlider.SetBinding(Slider.ValueProperty, bind) End Sub End Class
<Window x:Class="IntensityDetectEffectExample" 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" Height="600" Width="800"> <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:IntensityDetectEffect Intensity="{Binding Value, ElementName=IntensitySlider, UpdateSourceTrigger=PropertyChanged}"> </leadEffects:IntensityDetectEffect> </leadControls:ImageViewer.ImageEffect> </leadControls:ImageViewer> <TextBlock HorizontalAlignment="Center" Text="Intensity:"/> <Slider x:Name="IntensitySlider" Minimum="0.0" Maximum="256.0" TickFrequency="10" Width="400" Orientation="Horizontal" IsSnapToTickEnabled="True" TickPlacement="BottomRight" AutoToolTipPrecision="2" AutoToolTipPlacement="BottomRight"> </Slider> </StackPanel> </Window>