Leadtools.Windows.Media.Effects Send comments on this topic. | Back to Introduction - LEADTOOLS WPF | Help Version 16.5.9.25
ContrastBrightnessIntensityCommandBitmapEffect Class
See Also  Members   Example 
Leadtools.Windows.Media.Effects.Color Namespace : ContrastBrightnessIntensityCommandBitmapEffect Class





Applies contrast, brightness and intensity adjustments to enhance the image tonal range.

Syntax

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

ContrastBrightnessIntensityCommandBitmapEffect ...

XAML Property Element Usage 

ContrastBrightnessIntensityCommandBitmapEffect ...

Example

Run the ContrastBrightnessIntensityCommandBitmapEffect on an image.

Visual BasicCopy Code
Public Sub ContrastBrightnessIntensityCommandBitmapEffectExample(ByVal element As FrameworkElement)

   ' Initialize Effect
   Dim effect As ContrastBrightnessIntensityCommandBitmapEffect = New ContrastBrightnessIntensityCommandBitmapEffect()
   effect.Contrast = -146
   effect.Brightness = 358
   effect.Intensity = 240
   element.BitmapEffect = effect

   ' Initialize Animations
   Dim animation1 As Int32Animation = New Int32Animation()
   animation1.From = -1000
   animation1.To = 1000
   animation1.By = 1
   animation1.Duration = New Duration(TimeSpan.FromSeconds(1.0))
   animation1.AutoReverse = True
   animation1.RepeatBehavior = RepeatBehavior.Forever
   Dim animation2 As Int32Animation = New Int32Animation()
   animation2.From = -1000
   animation2.To = 1000
   animation2.By = 1
   animation2.Duration = New Duration(TimeSpan.FromSeconds(2.0))
   animation2.AutoReverse = True
   animation2.RepeatBehavior = RepeatBehavior.Forever
   Dim animation3 As Int32Animation = New Int32Animation()
   animation3.From = -1000
   animation3.To = 1000
   animation3.By = 1
   animation3.Duration = New Duration(TimeSpan.FromSeconds(3.0))
   animation3.AutoReverse = True
   animation3.RepeatBehavior = RepeatBehavior.Forever

   ' Initialize and run Storyboard
   Dim storyboard As Storyboard = New Storyboard()
   storyboard.SetTargetName(animation1, "AnimatedBitmapEffect")
   storyboard.SetTargetProperty(animation1, New PropertyPath(ContrastBrightnessIntensityCommandBitmapEffect.BrightnessProperty))
   element.RegisterName("AnimatedBitmapEffect", effect)
   storyboard.Children.Add(animation1)
   storyboard.SetTargetName(animation2, "AnimatedBitmapEffect")
   storyboard.SetTargetProperty(animation2, New PropertyPath(ContrastBrightnessIntensityCommandBitmapEffect.ContrastProperty))
   element.RegisterName("AnimatedBitmapEffect", effect)
   storyboard.Children.Add(animation2)
   storyboard.SetTargetName(animation3, "AnimatedBitmapEffect")
   storyboard.SetTargetProperty(animation3, New PropertyPath(ContrastBrightnessIntensityCommandBitmapEffect.IntensityProperty))
   element.RegisterName("AnimatedBitmapEffect", effect)
   storyboard.Children.Add(animation3)

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

 
   // Initialize Effect 
   ContrastBrightnessIntensityCommandBitmapEffect effect = new ContrastBrightnessIntensityCommandBitmapEffect(); 
   effect.Contrast = -146; 
   effect.Brightness = 358; 
   effect.Intensity = 240; 
   element.BitmapEffect = effect; 
 
   // Initialize Animations 
   Int32Animation animation1 = new Int32Animation(); 
   animation1.From = -1000; 
   animation1.To = 1000; 
   animation1.By = 1; 
   animation1.Duration = new Duration(TimeSpan.FromSeconds(1.0)); 
   animation1.AutoReverse = true; 
   animation1.RepeatBehavior = RepeatBehavior.Forever; 
   Int32Animation animation2 = new Int32Animation(); 
   animation2.From = -1000; 
   animation2.To = 1000; 
   animation2.By = 1; 
   animation2.Duration = new Duration(TimeSpan.FromSeconds(2.0)); 
   animation2.AutoReverse = true; 
   animation2.RepeatBehavior = RepeatBehavior.Forever; 
   Int32Animation animation3 = new Int32Animation(); 
   animation3.From = -1000; 
   animation3.To = 1000; 
   animation3.By = 1; 
   animation3.Duration = new Duration(TimeSpan.FromSeconds(3.0)); 
   animation3.AutoReverse = true; 
   animation3.RepeatBehavior = RepeatBehavior.Forever; 
 
   // Initialize and run Storyboard 
   Storyboard storyboard = new Storyboard(); 
   Storyboard.SetTargetName(animation1, "AnimatedBitmapEffect"); 
   Storyboard.SetTargetProperty(animation1, new PropertyPath(ContrastBrightnessIntensityCommandBitmapEffect.BrightnessProperty)); 
   element.RegisterName("AnimatedBitmapEffect", effect); 
   storyboard.Children.Add(animation1); 
   Storyboard.SetTargetName(animation2, "AnimatedBitmapEffect"); 
   Storyboard.SetTargetProperty(animation2, new PropertyPath(ContrastBrightnessIntensityCommandBitmapEffect.ContrastProperty)); 
   element.RegisterName("AnimatedBitmapEffect", effect); 
   storyboard.Children.Add(animation2); 
   Storyboard.SetTargetName(animation3, "AnimatedBitmapEffect"); 
   Storyboard.SetTargetProperty(animation3, new PropertyPath(ContrastBrightnessIntensityCommandBitmapEffect.IntensityProperty)); 
   element.RegisterName("AnimatedBitmapEffect", effect); 
   storyboard.Children.Add(animation3); 
 
   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 16\Images\slave.jpg"> 
      <Image.BitmapEffect> 
        <lteffects:ContrastBrightnessIntensityCommandBitmapEffect x:Name="MyBitmapEffect" /> 
      </Image.BitmapEffect> 
      <Image.Triggers> 
        <EventTrigger RoutedEvent="Image.Loaded"> 
          <BeginStoryboard> 
            <Storyboard> 
              <Int32Animation Storyboard.TargetName="MyBitmapEffect" Storyboard.TargetProperty="Brightness" From="-1000" To="1000" Duration="0:0:1" RepeatBehavior="Forever" AutoReverse="True" /> 
              <Int32Animation Storyboard.TargetName="MyBitmapEffect" Storyboard.TargetProperty="Contrast" From="-1000" To="1000" Duration="0:0:2" RepeatBehavior="Forever" AutoReverse="True" /> 
              <Int32Animation Storyboard.TargetName="MyBitmapEffect" Storyboard.TargetProperty="Intensity" From="-1000" To="1000" Duration="0:0:3" RepeatBehavior="Forever" AutoReverse="True" /> 
            </Storyboard> 
          </BeginStoryboard> 
        </EventTrigger> 
      </Image.Triggers> 
    </Image> 
  </Grid> 
</Page>

Remarks

  • The transformations are applied in this order: Contrast, Brightness then Intensity. Were the three commands to be called separately, then after each method was applied calculated values less than 0 and more than 255 (for 8 bits per component for example) would be clamped to 0 and 255 respectively. Using this method, the values are accumulative and the final result would be clamped. In addition, this command is faster than calling each method separately.
  • This command supports 12 and 16-bit grayscale and 48 and 64-bit color images. Support for 12 and 16-bit grayscale and 48 and 64-bit color images is available in all Document and Medical toolkits.
  • This command does not support signed data images.
  • This command does not support 32-bit grayscale images.

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.ContrastBrightnessIntensityCommandBitmapEffect

Requirements

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

See Also