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





Increases or decreases the contrast of the image, using a histogram to determine the median brightness.

Syntax

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

HistogramContrastCommandBitmapEffect ...

Example

Run the HistogramContrastCommandBitmapEffect on an image and increase its contrast.

Visual BasicCopy Code
Public Sub HistogramContrastCommandBitmapEffectExample(ByVal element As FrameworkElement)
   ' Initialize Effect
   Dim effect As HistogramContrastCommandBitmapEffect = New HistogramContrastCommandBitmapEffect()
   effect.Contrast = 250
   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(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(HistogramContrastCommandBitmapEffect.ContrastProperty))
   element.RegisterName("AnimatedBitmapEffect", effect)
   storyboard.Children.Add(animation1)

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

   // Initialize Effect 
   HistogramContrastCommandBitmapEffect effect = new HistogramContrastCommandBitmapEffect(); 
   effect.Contrast = 250; 
   element.BitmapEffect = effect; 
 
   // Initialize Animations 
   Int32Animation animation1 = new Int32Animation(); 
   animation1.From = -1000; 
   animation1.To = 1000; 
   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(HistogramContrastCommandBitmapEffect.ContrastProperty)); 
   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:HistogramContrastCommandBitmapEffect x:Name="MyBitmapEffect" /> 
      </Image.BitmapEffect> 
      <Image.Triggers> 
        <EventTrigger RoutedEvent="Image.Loaded"> 
          <BeginStoryboard> 
            <Storyboard> 
              <Int32Animation Storyboard.TargetName="MyBitmapEffect" Storyboard.TargetProperty="Contrast" From="-1000" To="1000" Duration="0:0:2" RepeatBehavior="Forever" AutoReverse="True" /> 
            </Storyboard> 
          </BeginStoryboard> 
        </EventTrigger> 
      </Image.Triggers> 
    </Image> 
  </Grid> 
</Page>

Remarks

  • This class finds the median brightness of the image, then brightens the pixels with values above the median and darkens the pixels with values below the median. This is more sophisticated (but slower) than the ChangeContrastCommandBitmapEffect, which uses the middle possible value (128) rather than finding the actual median.

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

Requirements

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

See Also