public int Scale { get; set; }
Scale # get and set (FreeHandShearCommand)
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. The valid range is from 0 to 100.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.SpecialEffects;
using Leadtools.ImageProcessing.Effects;
public void FreeHandShearCommandExample()
{
// 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];
FreeHandShearCommand command = new FreeHandShearCommand();
// 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;
// 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));
}
}
command.Amplitudes = Amplitudes;
command.Scale = 100;
command.FillColor = new RasterColor(0, 0, 0);
command.Flags = 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:\LEADTOOLS23\Resources\Images";
}
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