Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.10.30
|
Leadtools.ImageProcessing.SpecialEffects Namespace > FreeHandShearCommand Class > FreeHandShearCommand Constructor : FreeHandShearCommand Constructor(Int32[],Int32,RasterColor,FreeHandShearCommandFlags) |
public FreeHandShearCommand( int[] amplitudes, int scale, RasterColor fillColor, FreeHandShearCommandFlags flags )
'Declaration Public Function New( _ ByVal amplitudes() As Integer, _ ByVal scale As Integer, _ ByVal fillColor As RasterColor, _ ByVal flags As FreeHandShearCommandFlags _ )
'Usage Dim amplitudes() As Integer Dim scale As Integer Dim fillColor As RasterColor Dim flags As FreeHandShearCommandFlags Dim instance As New FreeHandShearCommand(amplitudes, scale, fillColor, flags)
public FreeHandShearCommand( int[] amplitudes, int scale, RasterColor fillColor, FreeHandShearCommandFlags flags )
function FreeHandShearCommand( amplitudes , scale , fillColor , flags )
public: FreeHandShearCommand( array<int>^ amplitudes, int scale, RasterColor fillColor, FreeHandShearCommandFlags flags )
Run the FreeHandShearCommand on an image.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing.SpecialEffects Imports Leadtools.ImageProcessing.Effects <TestMethod()> _ Public Sub FreeHandShearConstructorExample() 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) ' Fill apUserPoint 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) ' Normalize Amplitudes array (maximum value in Amplitudes is 1000 and lower is -1000). Dim maximum As Integer Dim i As Integer maximum = 0 For i = 0 To 12 If (maximum < amplitudes(i)) Then maximum = amplitudes(i) End If Next If (maximum <> 0) Then For i = 0 To 12 amplitudes(i) = (1000 * amplitudes(i) \ Math.Abs(maximum)) Next End If Dim command As FreeHandShearCommand command = New FreeHandShearCommand(amplitudes, 100, New RasterColor(0, 0, 0), FreeHandShearCommandFlags.Horizontal Or FreeHandShearCommandFlags.Repeat) ' Apply the shear wave horizontally. 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; using Leadtools.ImageProcessing.Effects; [TestMethod] public void FreeHandShearConstructorExample() { // 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]; // Fill apUserPoint 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); // Normalize Amplitudes array (maximum value in Amplitudes is 1000 and lower is -1000). int maximum, i; for(maximum = 0, i = 0; i < 13; i++) { if(maximum < amplitudes [i]) maximum = amplitudes [i]; } if(maximum != 0) { for(i = 0; i < 13; i++) { amplitudes [i] = (1000 * amplitudes [i] / Math.Abs(maximum)); } } FreeHandShearCommand command = new FreeHandShearCommand(amplitudes, 100, new RasterColor(0, 0, 0), FreeHandShearCommandFlags.Horizontal | FreeHandShearCommandFlags.Repeat); // Apply the shear wave horizontally. 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"; }