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





Adds effects that simulate random color changes, scratches, dust and pits, making an image look like it was made from an old film.

Syntax

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

AgingCommandBitmapEffect ...

XAML Property Element Usage 

AgingCommandBitmapEffect ...

Example

Visual BasicCopy Code
Public Sub AgingCommandBitmapEffectExample(ByVal element As FrameworkElement)
   ' Initialize Effect
   Dim effect As AgingCommandBitmapEffect = New AgingCommandBitmapEffect()
   effect.HorizontalScratchCount = 10
   effect.VerticalScratchCount = 10
   effect.MaximumScratchLength = 10
   effect.DustDensity = 10
   effect.PitsDensity = 5
   effect.MaximumPitSize = 5
   effect.ScratchColor = System.Windows.Media.Color.FromRgb(0, 0, 0)
   effect.DustColor = System.Windows.Media.Color.FromRgb(0, 0, 0)
   effect.PitsColor = System.Windows.Media.Color.FromRgb(0, 0, 0)
   effect.Flags = AgingCommandBitmapEffectsFlags.AddVerticalScratch
   element.BitmapEffect = effect

   ' Initialize Animations
   Dim animation1 As Int32Animation = New Int32Animation()
   animation1.From = 2
   animation1.To = 100
   animation1.By = 1
   animation1.Duration = New Duration(TimeSpan.FromSeconds(4.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(AgingCommandBitmapEffect.MaximumScratchLengthProperty))
   element.RegisterName("AnimatedBitmapEffect", effect)
   storyboard.Children.Add(animation1)

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

   // Initialize Effect 
   AgingCommandBitmapEffect effect = new AgingCommandBitmapEffect(); 
   effect.HorizontalScratchCount = 10; 
   effect.VerticalScratchCount = 10; 
   effect.MaximumScratchLength = 10; 
   effect.DustDensity = 10; 
   effect.PitsDensity = 5; 
   effect.MaximumPitSize = 5; 
   effect.ScratchColor = System.Windows.Media.Color.FromRgb(0, 0, 0); 
   effect.DustColor = System.Windows.Media.Color.FromRgb(0, 0, 0); 
   effect.PitsColor = System.Windows.Media.Color.FromRgb(0, 0, 0); 
   effect.Flags = AgingCommandBitmapEffectsFlags.AddVerticalScratch; 
   element.BitmapEffect = effect; 
 
   // Initialize Animations 
   Int32Animation animation1 = new Int32Animation(); 
   animation1.From = 2; 
   animation1.To = 100; 
   animation1.By = 1; 
   animation1.Duration = new Duration(TimeSpan.FromSeconds(4.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(AgingCommandBitmapEffect.MaximumScratchLengthProperty)); 
   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.SpecialEffects;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:AgingCommandBitmapEffect x:Name="MyBitmapEffect" MaximumScratchLength="50" /> 
      </Image.BitmapEffect> 
      <Image.Triggers> 
        <EventTrigger RoutedEvent="Image.Loaded"> 
          <BeginStoryboard> 
            <Storyboard> 
              <Int32Animation Storyboard.TargetName="MyBitmapEffect" Storyboard.TargetProperty="MaximumScratchLength" From="2" To="100" Duration="0:0:5" RepeatBehavior="Forever" AutoReverse="True" /> 
            </Storyboard> 
          </BeginStoryboard> 
        </EventTrigger> 
      </Image.Triggers> 
    </Image> 
  </Grid> 
</Page>

Remarks

  • The width of the scratches is 1 pixel. The length of the scratches is random (between 2 and MaximumScratchLength).
  • The size of the dust particles is 1 pixel (1x1).
  • The size and shape of pits is selected at random. The pit shapes are random and will be between 1x1 and MaximumPitSize x MaximumPitSize.
  • The command will also make random changes to the pixel’s intensities.
  • This command does not support signed data 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.SpecialEffects.AgingCommandBitmapEffect

Requirements

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

See Also