For more information, refer to Applying Artistic Effects.
Free Hand Shear Function - Before
Free Hand Shear Function - After
View additional platform support for this Free Hand Shear function.
Run the FreeHandShearCommand on an image.
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";
}
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