LEADTOOLS Image Processing (Leadtools.ImageProcessing.SpecialEffects assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
FreeHandWaveCommand Constructor(Int32[],Int32,Int32,Int32,RasterColor,FreeHandWaveCommandFlags)
See Also  Example
Leadtools.ImageProcessing.SpecialEffects Namespace > FreeHandWaveCommand Class > FreeHandWaveCommand Constructor : FreeHandWaveCommand Constructor(Int32[],Int32,Int32,Int32,RasterColor,FreeHandWaveCommandFlags)



amplitudes
Array of integers that represent wave values. The real value of the array elements is divided by 1000. These values are generally obtained from the Leadtools.ImageProcessing.Effects.EffectsUtilities.GetCurvePoints(System.Int32[],Leadtools.LeadPoint[],Leadtools.ImageProcessing.Effects.CurvePointsType) utility method.
scale
Factor used to increase or decrease the various amplitude values in the amplitudes array. Each value in the amplitudes array is multiplied by this factor. The real factor value is the Scale value divided by 100. This property only accepts positive values.
waveLength
Value that represents the wave length, if FreeHandWaveCommandFlags.Period flag is set. Possible values range from 1 - 100 and give the wavelength as a percentage of the image dimensions. If FreeHandWaveCommandFlags.Frequency flag is set, this value is the number of repeated waves.
angle
Wave rotation angle in hundredths of a degree (+/-). The valid range is from -36000 to 36000. The value in degrees is angle divided by 100.
fillColor
RasterColor object that specifies the fill color for any exposed areas.
flags
FreeHandWaveCommandFlags enumeration that indicate how to handle exposed areas, and the type of information contained in waveLength parameter.
Initializes a new FreeHandWaveCommand class object with explicit parameters.

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal amplitudes() As Integer, _
   ByVal scale As Integer, _
   ByVal waveLength As Integer, _
   ByVal angle As Integer, _
   ByVal fillColor As RasterColor, _
   ByVal flags As FreeHandWaveCommandFlags _
)
Visual Basic (Usage)Copy Code
Dim amplitudes() As Integer
Dim scale As Integer
Dim waveLength As Integer
Dim angle As Integer
Dim fillColor As RasterColor
Dim flags As FreeHandWaveCommandFlags
 
Dim instance As New FreeHandWaveCommand(amplitudes, scale, waveLength, angle, fillColor, flags)
C# 
public FreeHandWaveCommand( 
   int[] amplitudes,
   int scale,
   int waveLength,
   int angle,
   RasterColor fillColor,
   FreeHandWaveCommandFlags flags
)
C++/CLI 
public:
FreeHandWaveCommand( 
   array<int>^ amplitudes,
   int scale,
   int waveLength,
   int angle,
   RasterColor fillColor,
   FreeHandWaveCommandFlags flags
)

Parameters

amplitudes
Array of integers that represent wave values. The real value of the array elements is divided by 1000. These values are generally obtained from the Leadtools.ImageProcessing.Effects.EffectsUtilities.GetCurvePoints(System.Int32[],Leadtools.LeadPoint[],Leadtools.ImageProcessing.Effects.CurvePointsType) utility method.
scale
Factor used to increase or decrease the various amplitude values in the amplitudes array. Each value in the amplitudes array is multiplied by this factor. The real factor value is the Scale value divided by 100. This property only accepts positive values.
waveLength
Value that represents the wave length, if FreeHandWaveCommandFlags.Period flag is set. Possible values range from 1 - 100 and give the wavelength as a percentage of the image dimensions. If FreeHandWaveCommandFlags.Frequency flag is set, this value is the number of repeated waves.
angle
Wave rotation angle in hundredths of a degree (+/-). The valid range is from -36000 to 36000. The value in degrees is angle divided by 100.
fillColor
RasterColor object that specifies the fill color for any exposed areas.
flags
FreeHandWaveCommandFlags enumeration that indicate how to handle exposed areas, and the type of information contained in waveLength parameter.

Example

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

Visual BasicCopy Code
Public Sub FreeHandWaveConstructorExample()
   Dim codecs As New RasterCodecs()
   codecs.ThrowExceptionsOnInvalidImages = True

   Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))

   ' Prepare the command
   Dim userPoint() As LeadPoint
   ReDim userPoint(3)
   ' 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

   Dim amplitudes() As Integer
   ReDim amplitudes(12)
   'Draw a triangular wave according to UserPoint points and store the Amplitudes values in the Amplitudes array
   EffectsUtilities.GetCurvePoints(amplitudes, userPoint, CurvePointsType.Linear)

   Dim command As FreeHandWaveCommand
   command = New FreeHandWaveCommand(amplitudes, 100, 10, 0, New RasterColor(0, 0, 0), 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
C#Copy Code
public void FreeHandWaveConstructorExample()
   {
      // Load an image
      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;

      RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));

      // Prepare the command
      LeadPoint[] userPoint = new LeadPoint[4];
      // 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;

      int[] amplitudes = new int[13];
      //Draw a triangular wave according to UserPoint points and store the Amplitudes values in the Amplitudes array.
      EffectsUtilities.GetCurvePoints(amplitudes, userPoint, CurvePointsType.Linear);

      FreeHandWaveCommand command = new FreeHandWaveCommand(amplitudes, 100, 10, 0, new RasterColor(0, 0, 0), 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";
}

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also