Leadtools.Windows.Media.Effects Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.02.15
IntensityDetectCommandBitmapEffect Class
See Also  Members   Example 
Leadtools.Windows.Media.Effects.Color Namespace : IntensityDetectCommandBitmapEffect Class





Applies binary segmentation to an image by filtering a specific image to detect colors in a specific intensity range, in a specific color channel(s).

Syntax

Visual Basic (Declaration) 
Public Class IntensityDetectCommandBitmapEffect 
   Inherits RasterCommandBitmapEffect
Visual Basic (Usage)Copy Code
Dim instance As IntensityDetectCommandBitmapEffect
C# 
public class IntensityDetectCommandBitmapEffect : RasterCommandBitmapEffect 
Managed Extensions for C++ 
public __gc class IntensityDetectCommandBitmapEffect : public RasterCommandBitmapEffect 
C++/CLI 
public ref class IntensityDetectCommandBitmapEffect : public RasterCommandBitmapEffect 
XAML Property Element Usage 

IntensityDetectCommandBitmapEffect ...

Example

Run the IntensityDetectCommandBitmapEffect on an image and apply the filter to it.

Visual BasicCopy Code
Public Sub IntensityDetectCommandBitmapEffectExample(ByVal element As FrameworkElement)
   ' Initialize Effect
   Dim effect As IntensityDetectCommandBitmapEffect = New IntensityDetectCommandBitmapEffect()
   effect.LowThreshold = 128
   effect.HighThreshold = 220
   effect.InColor = System.Windows.Media.Color.FromRgb(255, 255, 255)
   effect.OutColor = System.Windows.Media.Color.FromRgb(0, 0, 0)
   effect.Channel = IntensityDetectCommandBitmapEffectsFlags.Master
   element.BitmapEffect = effect

   ' Initialize Animations
   Dim animation1 As Int32Animation = New Int32Animation()
   animation1.From = 0
   animation1.To = 254
   animation1.By = 1
   animation1.Duration = New Duration(TimeSpan.FromSeconds(2.0))
   animation1.AutoReverse = True
   animation1.RepeatBehavior = RepeatBehavior.Forever

   ' Initialize and run Storyboard
   Dim storyboard As Storyboard = New Storyboard()
   storyboard.SetTargetName(animation1, "AnimatedBitmapEffect")
   storyboard.SetTargetProperty(animation1, New PropertyPath(IntensityDetectCommandBitmapEffect.LowThresholdProperty))
   element.RegisterName("AnimatedBitmapEffect", effect)
   storyboard.Children.Add(animation1)

   storyboard.Begin(element)
End Sub
C#Copy Code
public void IntensityDetectCommandBitmapEffectExample(FrameworkElement element) 

   // Initialize Effect 
   IntensityDetectCommandBitmapEffect effect = new IntensityDetectCommandBitmapEffect(); 
   effect.LowThreshold = 128; 
   effect.HighThreshold = 220; 
   effect.InColor = System.Windows.Media.Color.FromRgb(255, 255, 255); 
   effect.OutColor = System.Windows.Media.Color.FromRgb(0, 0, 0); 
   effect.Channel = IntensityDetectCommandBitmapEffectsFlags.Master; 
   element.BitmapEffect = effect; 
 
   // Initialize Animations 
   Int32Animation animation1 = new Int32Animation(); 
   animation1.From = 0; 
   animation1.To = 254; 
   animation1.By = 1; 
   animation1.Duration = new Duration(TimeSpan.FromSeconds(2.0)); 
   animation1.AutoReverse = true; 
   animation1.RepeatBehavior = RepeatBehavior.Forever; 
 
   // Initialize and run Storyboard 
   Storyboard storyboard = new Storyboard(); 
   Storyboard.SetTargetName(animation1, "AnimatedBitmapEffect"); 
   Storyboard.SetTargetProperty(animation1, new PropertyPath(IntensityDetectCommandBitmapEffect.LowThresholdProperty)); 
   element.RegisterName("AnimatedBitmapEffect", effect); 
   storyboard.Children.Add(animation1); 
 
   storyboard.Begin(element); 
}
XAMLCopy Code
<Page Title="CSAnimateEffect" Height="391" Width="300" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:lteffects="clr-namespace:Leadtools.Windows.Media.Effects.Color;assembly=Leadtools.Windows.Media.Effects"> 
  <Grid> 
    <Image Margin="10,10,10,10" HorizontalAlignment="Center" VerticalAlignment="Center" Source="C:\Program Files\LEAD Technologies, Inc\LEADTOOLS 15\Images\slave.jpg"> 
      <Image.BitmapEffect> 
        <lteffects:IntensityDetectCommandBitmapEffect x:Name="MyBitmapEffect" HighThreshold="255" /> 
      </Image.BitmapEffect> 
      <Image.Triggers> 
        <EventTrigger RoutedEvent="Image.Loaded"> 
          <BeginStoryboard> 
            <Storyboard> 
              <Int32Animation Storyboard.TargetName="MyBitmapEffect" Storyboard.TargetProperty="LowThreshold" From="0" To="254" Duration="0:0:2" RepeatBehavior="Forever" AutoReverse="True" /> 
            </Storyboard> 
          </BeginStoryboard> 
        </EventTrigger> 
      </Image.Triggers> 
    </Image> 
  </Grid> 
</Page>

Remarks

  • The image is divided into two parts, inner and outer according to the values of the LowThreshold property and the HighThreshold property.
  • The class can process 2 or more channels at a time by OR-ing two or more flags.

Inheritance Hierarchy

System.Object
   System.Windows.Threading.DispatcherObject
      System.Windows.DependencyObject
         System.Windows.Freezable
            System.Windows.Media.Animation.Animatable
               System.Windows.Media.Effects.BitmapEffect
                  Leadtools.Windows.Media.Effects.RasterCommandBitmapEffect
                     Leadtools.Windows.Media.Effects.Color.IntensityDetectCommandBitmapEffect

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Vista, and Windows Server 2003

See Also