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.
public class FreeHandWaveCommand : RasterCommand
Public Class FreeHandWaveCommand
Inherits RasterCommand
public ref class FreeHandWaveCommand : public RasterCommand
For more information, refer to Applying Artistic Effects.
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:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.SpecialEffects
Imports Leadtools.ImageProcessing.Effects
Public Sub FreeHandWaveCommandExample()
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 UserPoint() As LeadPoint
ReDim UserPoint(3)
Dim Amplitudes() As Integer
ReDim Amplitudes(12)
Dim command As FreeHandWaveCommand = 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 Or FreeHandWaveCommandFlags.Frequency
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
Leadtools.ImageProcessing.SpecialEffects Namespace
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
Leadtools.ImageProcessing.Effects.CubismCommand
Leadtools.ImageProcessing.Color.SampleTargetCommand
Leadtools.ImageProcessing.Effects.DisplacementCommand
Leadtools.ImageProcessing.Core.HalfTonePatternCommand
Leadtools.ImageProcessing.Effects.MaskConvolutionCommand
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document