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





Divides the image into rectangular or circular cells and then recreates the image by filling those cells with the minimum, maximum, or average pixel value, depending upon the effect that was selected.

Syntax

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

PixelateCommandBitmapEffect ...

XAML Property Element Usage 

PixelateCommandBitmapEffect ...

Example

Run the PixelateCommandBitmapEffect on an image. by dividing it into circular cells with angle length = 5, and radius = 10.

Visual BasicCopy Code
Public Sub PixelateCommandBitmapEffectExample(ByVal element As FrameworkElement)
   Dim effect As PixelateCommandBitmapEffect = New PixelateCommandBitmapEffect()
   effect.CellWidth = 10
   effect.CellHeight = 10
   effect.Flags = PixelateCommandBitmapEffectsFlags.Rectangle Or PixelateCommandBitmapEffectsFlags.WidthPeriod
   effect.Opacity = 50
   effect.CenterPoint = New System.Windows.Point(140, 105)
   element.BitmapEffect = effect

   Dim storyboard As Storyboard = New Storyboard()

   Dim animation1 As Int32Animation = New Int32Animation()
   animation1.From = 10
   animation1.To = 15
   animation1.Duration = New Duration(TimeSpan.Parse("0:0:5"))
   animation1.RepeatBehavior = RepeatBehavior.Forever
   animation1.AutoReverse = True

   storyboard.SetTargetName(animation1, "AnimatedBitmapEffect")
   storyboard.SetTargetProperty(animation1, New PropertyPath(PixelateCommandBitmapEffect.CellWidthProperty))
   element.RegisterName("AnimatedBitmapEffect", effect)
   storyboard.Children.Add(animation1)

   Dim animation2 As Int32Animation = New Int32Animation()
   animation2.From = 10
   animation2.To = 15
   animation2.Duration = New Duration(TimeSpan.Parse("0:0:5"))
   animation2.RepeatBehavior = RepeatBehavior.Forever
   animation2.AutoReverse = True

   storyboard.SetTargetName(animation2, "AnimatedBitmapEffect")
   storyboard.SetTargetProperty(animation2, New PropertyPath(PixelateCommandBitmapEffect.CellHeightProperty))
   element.RegisterName("AnimatedBitmapEffect", effect)
   storyboard.Children.Add(animation2)

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

   PixelateCommandBitmapEffect effect = new PixelateCommandBitmapEffect(); 
   effect.CellWidth = 10; 
   effect.CellHeight = 10; 
   effect.Flags = PixelateCommandBitmapEffectsFlags.Rectangle | PixelateCommandBitmapEffectsFlags.WidthPeriod; 
   effect.Opacity = 50; 
   effect.CenterPoint = new Point(140, 105); 
   element.BitmapEffect = effect; 
 
   Storyboard storyboard = new Storyboard(); 
 
   Int32Animation animation1 = new Int32Animation(); 
   animation1.From = 10; 
   animation1.To = 15; 
   animation1.Duration = new Duration(TimeSpan.Parse("0:0:5")); 
   animation1.RepeatBehavior = RepeatBehavior.Forever; 
   animation1.AutoReverse = true; 
 
   Storyboard.SetTargetName(animation1, "AnimatedBitmapEffect"); 
   Storyboard.SetTargetProperty(animation1, new PropertyPath(PixelateCommandBitmapEffect.CellWidthProperty)); 
   element.RegisterName("AnimatedBitmapEffect", effect); 
   storyboard.Children.Add(animation1); 
 
   Int32Animation animation2 = new Int32Animation(); 
   animation2.From = 10; 
   animation2.To = 15; 
   animation2.Duration = new Duration(TimeSpan.Parse("0:0:5")); 
   animation2.RepeatBehavior = RepeatBehavior.Forever; 
   animation2.AutoReverse = true; 
 
   Storyboard.SetTargetName(animation2, "AnimatedBitmapEffect"); 
   Storyboard.SetTargetProperty(animation2, new PropertyPath(PixelateCommandBitmapEffect.CellHeightProperty)); 
   element.RegisterName("AnimatedBitmapEffect", effect); 
   storyboard.Children.Add(animation2); 
 
   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:PixelateCommandBitmapEffect x:Name="AnimatedBitmapEffect" CellWidth="10" CellHeight="10" Flags="Rectangle, WidthPeriod" Opacity="50" CenterPoint="140, 105" /> 
      </Image.BitmapEffect> 
      <Image.Triggers> 
        <EventTrigger RoutedEvent="Image.Loaded"> 
          <BeginStoryboard> 
            <Storyboard> 
              <Int32Animation Storyboard.TargetName="AnimatedBitmapEffect" Storyboard.TargetProperty="CellWidth" From="1" To="15" Duration="0:0:5" RepeatBehavior="Forever" AutoReverse="true" /> 
              <Int32Animation Storyboard.TargetName="AnimatedBitmapEffect" Storyboard.TargetProperty="CellHeight" From="10" To="15" Duration="0:0:5" RepeatBehavior="Forever" AutoReverse="true" /> 
            </Storyboard> 
          </BeginStoryboard> 
        </EventTrigger> 
      </Image.Triggers> 
    </Image> 
  </Grid> 
</Page>

Remarks

  • This command will divide the image into rectangular or circular cells.
  • Flags indicate whether to use rectangular or circular cells and indicates the type of information in the other properties or parameters.
  • If the image is divided into circular cells by setting the PixelateCommandBitmapEffectsFlags.Radial flag, the cells will be centered around the specified center point. This center point must be defined inside the image.
  • An example of circular cell division can be seen below:
    This is the original image:



    The image below is the result of the following settings:
    command.Flags = PixelateCommandBitmapEffectsFlags.Radial | PixelateCommandBitmapEffectsFlags.WidthPeriod | PixelateCommandBitmapEffectsFlags.HeightPeriod | PixelateCommandBitmapEffectsFlags.Average;
    command.CellWidth = 90;
    command.CellHeight = 40;

    This indicates the circular cells are divided into 90 degree cell divisions and each cell has a radial length of 40 pixels. Each cell division is filled with the average value for that cell division.



    The image below is the result of the following settings:

    command.Flags = PixelateCommandBitmapEffectsFlags.Radial | PixelateCommandBitmapEffectsFlags.WidthFrequency | PixelateCommandBitmapEffectsFlags.HeightFrequency | PixelateCommandBitmapEffectsFlags.Average;
    command.CellWidth = 90;
    command.CellHeight = 40;

    This indicates the circular cells are divided into 90 separate cell divisions around the center point and there are 40 cell divisions along the radius. Each cell division is filled with the average value for that cell division.

  • 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.PixelateCommandBitmapEffect

Requirements

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

See Also

Reference

PixelateCommandBitmapEffect Members
Leadtools.Windows.Media.Effects.SpecialEffects Namespace
AddNoiseCommandBitmapEffect Class
EmbossCommandBitmapEffect Class
MosaicCommandBitmapEffect Class
MotionBlurCommandBitmapEffect Class
OilifyCommandBitmapEffect Class
PosterizeCommandBitmapEffect Class
SolarizeCommandBitmapEffect Class
BendCommandBitmapEffect Class
CylinderCommandBitmapEffect Class
FreeHandShearCommandBitmapEffect Class
FreeHandWaveCommandBitmapEffect Class
ImpressionistCommandBitmapEffect Class
PolarCommandBitmapEffect Class
RadialBlurCommandBitmapEffect Class
RadialWaveCommandBitmapEffect Class
RippleCommandBitmapEffect Class
SphereCommandBitmapEffect Class
SwirlCommandBitmapEffect Class
WaveCommandBitmapEffect Class
WindCommandBitmapEffect Class
ZoomBlurCommandBitmapEffect Class
ZoomWaveCommandBitmapEffect Class
CubismCommandBitmapEffect Class
DrawStarCommandBitmapEffect Class
DryCommandBitmapEffect Class
FreePlaneBendCommandBitmapEffect Class
FreeRadialBendCommandBitmapEffect Class
GlassEffectCommandBitmapEffect Class
GlowCommandBitmapEffect Class
LensFlareCommandBitmapEffect Class
OceanCommandBitmapEffect Class
PlaneBendCommandBitmapEffect Class
PlaneCommandBitmapEffect Class
SampleTargetCommandBitmapEffect Class
TunnelCommandBitmapEffect Class
BricksTextureCommandBitmapEffect Class
CloudsCommandBitmapEffect Class
ColoredBallsCommandBitmapEffect Class
DiffuseGlowCommandBitmapEffect Class
FragmentCommandBitmapEffect Class
HalfTonePatternCommandBitmapEffect Class
MaskConvolutionCommandBitmapEffect Class
MosaicTilesCommandBitmapEffect Class
PerspectiveCommandBitmapEffect Class
PlasmaCommandBitmapEffect Class
PointillistCommandBitmapEffect Class
RomanMosaicCommandBitmapEffect Class
VignnetCommandBitmapEffect Class
ZigZagCommandBitmapEffect Class