←Select platform

WaveCommand Class

Summary

Distorts the image with two perpendicular waves at the specified angle and with the specified wave type. This command is available in the Imaging Pro and above toolkits.

Remarks
  • The command applies two perpendicular waves. The horizontal factor and vertical factor values control the size of these waves.
  • 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.
  • This command does not support signed data images.
  • This command does not support 32-bit grayscale images.

For more information, refer to Introduction to Image Processing With LEADTOOLS. For more information, refer to Applying Artistic Effects.

Example

Run the WaveCommand on an image.

C#
VB
WinRT C#
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing.SpecialEffects 
 
<TestMethod()> _ 
Public Sub WaveCommandExample() 
   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 WaveCommand = New WaveCommand 
   command.Amplitude = 20 
   command.Angle = 0 
   command.FillColor = New RasterColor(0, 0, 0) 
   command.Flags = WaveCommandFlags.Repeat Or WaveCommandFlags.Period Or WaveCommandFlags.SinWave 
   command.HorizontalFactor = 100 
   command.VerticalFactor = 100 
   command.WaveLength = 25 
   'apply sinusoidal waves on the image. 
   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 WaveCommandExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample5.cmp")); 
 
   // Prepare the command 
   WaveCommand command = new WaveCommand(); 
   command.Amplitude = 20; 
   command.Angle = 0; 
   command.FillColor = new RasterColor(0, 0, 0); 
   command.Flags = WaveCommandFlags.Repeat |   WaveCommandFlags.Period |   WaveCommandFlags.SinWave; 
   command.HorizontalFactor = 100; 
   command.VerticalFactor = 100; 
   command.WaveLength = 25; 
   //apply sinusoidal waves on the image. 
   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 WaveCommandExample() 
{ 
   // 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 
   WaveCommand command = new WaveCommand(); 
   command.Amplitude = 20; 
   command.Angle = 0; 
   command.FillColor = RasterColorHelper.Create(0, 0, 0); 
   command.Flags = WaveCommandFlags.Repeat |   WaveCommandFlags.Period |   WaveCommandFlags.SinWave; 
   command.HorizontalFactor = 100; 
   command.VerticalFactor = 100; 
   command.WaveLength = 25; 
   //apply sinusoidal waves on the image. 
   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

WaveCommand Members

Leadtools.ImageProcessing.SpecialEffects Namespace

Introduction to Image Processing With LEADTOOLS

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

PixelateCommand Class

ImpressionistCommand Class

PolarCommand Class

RadialBlurCommand Class

RadialWaveCommand Class

RippleCommand Class

SphereCommand Class

SwirlCommand 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