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";
}