FreeHandWaveCommand Class (original) (raw)

Summary

Distorts the image by the wave specified in the amplitudes array and the rotation angle. This command is available in the Imaging Pro and above toolkits.

Syntax

class FreeHandWaveCommand(RasterCommand): 

Example

Run the FreeHandWaveCommand on an image and apply triangular wave on the loaded image.

using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing.SpecialEffects; using Leadtools.ImageProcessing.Effects; public void FreeHandWaveCommandExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "sample5.cmp")); // Prepare the command LeadPoint[] UserPoint = new LeadPoint[4]; int[] Amplitudes = new int[13]; FreeHandWaveCommand command = new FreeHandWaveCommand(); // Fill UserPoint array with points that define a triangular wave UserPoint[0].X = 0; UserPoint[0].Y = 0; UserPoint[1].X = 3; UserPoint[1].Y = 10; UserPoint[2].X = 9; UserPoint[2].Y = -10; UserPoint[3].X = 12; UserPoint[3].Y = 0; //Draw a triangular wave according to UserPoint points and store the Amplitudes values in the Amplitudes array. EffectsUtilities.GetCurvePoints(Amplitudes, UserPoint, CurvePointsType.Linear); command.Amplitudes = Amplitudes; command.Scale = 100; command.WaveLength = 10; command.Angle = 0; command.FillColor = new RasterColor(0, 0, 0); command.Flags = FreeHandWaveCommandFlags.Repeat | FreeHandWaveCommandFlags.Frequency; 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:\LEADTOOLS22\Resources\Images"; }