←Select platform

PixelateCommand Class

Summary

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. This command is available in the Imaging Pro and above toolkits.

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 PixelateCommandFlags.Radial flag, the cells will be centered around the specified center point. This center point must be defined inside the image or inside the region, if the image has a region. If the image has a region, the effect will be applied on the region only.
  • This command supports 12-bit and 16-bit grayscale and 48-bit and 64-bit color images. Support for 12-bit and 16-bit grayscale and 48-bit and 64-bit color images is available only in the Document/Medical toolkits.
  • 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 = PixelateCommandFlags.Radial | PixelateCommandFlags.WidthPeriod | PixelateCommandFlags.HeightPeriod | PixelateCommandFlags.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 = PixelateCommandFlags.Radial | PixelateCommandFlags.WidthFrequency | PixelateCommandFlags.HeightFrequency | PixelateCommandFlags.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.

  • This command does not support 32-bit grayscale images.

For more information, refer to Applying Artistic Effects.

Example

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

C#
VB
WinRT C#
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.SpecialEffects 
 
<TestMethod()> _ 
Public Sub PixelateCommandExample() 
   Dim codecs As New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample5.cmp")) 
 
   ' Prepare the command 
   Dim command As PixelateCommand = New PixelateCommand 
   command.CenterPoint = New LeadPoint(leadImage.Width \ 2, leadImage.Height \ 2) 
   command.CellWidth = 5 
   command.CellHeight = 10 
   command.Opacity = 100 
   command.Flags = PixelateCommandFlags.Radial Or _ 
      PixelateCommandFlags.WidthPeriod Or _ 
      PixelateCommandFlags.HeightPeriod Or _ 
   PixelateCommandFlags.Average 
   command.Run(leadImage) 
   codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24) 
 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.SpecialEffects; 
 
public void PixelateCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample5.cmp")); 
 
   // Prepare the command 
   PixelateCommand command   = new PixelateCommand(); 
   command.CenterPoint = new LeadPoint((image.Width / 2), (image.Height / 2)); 
   command.CellWidth         = 5; 
   command.CellHeight        = 10; 
   command.Opacity           = 100; 
   command.Flags             = PixelateCommandFlags.Radial | 
      PixelateCommandFlags.WidthPeriod  | 
      PixelateCommandFlags.HeightPeriod | 
      PixelateCommandFlags.Average; 
   command.Run(image); 
   codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24); 
 
} 
 
static class LEAD_VARS 
{ 
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing.SpecialEffects; 
 
public async Task PixelateCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   string srcFileName = @"Assets\Image1.cmp"; 
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); 
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); 
 
   // Prepare the command 
   PixelateCommand command   = new PixelateCommand(); 
   command.CenterPoint = LeadPointHelper.Create((image.Width / 2), (image.Height / 2)); 
   command.CellWidth         = 5; 
   command.CellHeight        = 10; 
   command.Opacity           = 100; 
   command.Flags             = PixelateCommandFlags.Radial | 
      PixelateCommandFlags.WidthPeriod  | 
      PixelateCommandFlags.HeightPeriod | 
      PixelateCommandFlags.Average; 
   command.Run(image); 
 
   string destFileName = @"result.bmp"; 
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName); 
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24); 
} 

Requirements

Target Platforms

See Also

Reference

PixelateCommand Members

Leadtools.ImageProcessing.SpecialEffects Namespace

Applying Artistic Effects

Leadtools.ImageProcessing.Effects.AddNoiseCommand

Leadtools.ImageProcessing.Effects.EmbossCommand

Leadtools.ImageProcessing.Effects.MosaicCommand

Leadtools.ImageProcessing.Effects.MotionBlurCommand

Leadtools.ImageProcessing.Effects.OilifyCommand

Leadtools.ImageProcessing.Color.PosterizeCommand

Leadtools.ImageProcessing.Color.RemoveRedEyeCommand

Leadtools.ImageProcessing.Color.SolarizeCommand

BendCommand Class

CylinderCommand Class

FreeHandShearCommand Class

FreeHandWaveCommand Class

ImpressionistCommand Class

PolarCommand Class

RadialBlurCommand Class

RadialWaveCommand Class

RippleCommand Class

SphereCommand Class

SwirlCommand Class

WaveCommand Class

WindCommand Class

ZoomBlurCommand Class

ZoomWaveCommand Class

BumpMapCommand Class

Leadtools.ImageProcessing.Effects.CubismCommand

DrawStarCommand Class

DryCommand Class

FreePlaneBendCommand Class

FreeRadialBendCommand Class

GlassEffectCommand Class

GlowCommand Class

LensFlareCommand Class

LightCommand Class

OceanCommand Class

PlaneBendCommand Class

PlaneCommand Class

Leadtools.ImageProcessing.Color.SampleTargetCommand

TunnelCommand Class

BricksTextureCommand Class

CanvasCommand Class

CloudsCommand Class

ColoredBallsCommand Class

DiffuseGlowCommand Class

Leadtools.ImageProcessing.Effects.DisplacementCommand

FragmentCommand Class

Leadtools.ImageProcessing.Core.HalfTonePatternCommand

Leadtools.ImageProcessing.Effects.MaskConvolutionCommand

MosaicTilesCommand Class

Leadtools.ImageProcessing.Effects.OffsetCommand

PerspectiveCommand Class

PlasmaCommand Class

PointillistCommand Class

RomanMosaicCommand Class

VignnetCommand Class

ZigZagCommand Class

Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
Leadtools.ImageProcessing.SpecialEffects Assembly
Click or drag to resize