PuzzleEffectCommand Class
Summary
Splits the image into square blocks and randomizes these blocks inside the image. This command is available in the Imaging Pro and above toolkits.
Syntax
function Leadtools.ImageProcessing.SpecialEffects.PuzzleEffectCommand()
Example
Run the PuzzleEffectCommand on an image.
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.SpecialEffects
<TestMethod()> _
Public Sub PuzzleEffectCommandExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "ImageProcessingDemo\\Image2.jpg"))
' Prepare the command
Dim command As PuzzleEffectCommand = New PuzzleEffectCommand
command.XBlock = 10
command.YBlock = 10
command.Randomize = 0
command.Flags = PuzzleEffectCommandFlags.Border Or PuzzleEffectCommandFlags.Shuffle Or PuzzleEffectCommandFlags.Count Or PuzzleEffectCommandFlags.Resize
command.BorderColor = New RasterColor(0, 0, 0)
' Apply Puzzle Effect to this image.
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;
public void PuzzleEffectCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"ImageProcessingDemo\Image2.jpg"));
// Prepare the command
PuzzleEffectCommand command = new PuzzleEffectCommand();
command.XBlock = 10;
command.YBlock = 10;
command.Randomize = 0;
command.Flags = PuzzleEffectCommandFlags.Border |
PuzzleEffectCommandFlags.Shuffle |
PuzzleEffectCommandFlags.Count |
PuzzleEffectCommandFlags.Resize;
command.BorderColor = new RasterColor(0,0,0);
// Apply Puzzle Effect to this image.
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";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.SpecialEffects;
public async Task PuzzleEffectCommandExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
string srcFileName = @"Assets\Image1.cmp";
StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
// Prepare the command
PuzzleEffectCommand command = new PuzzleEffectCommand();
command.XBlock = 10;
command.YBlock = 10;
command.Randomize = 0;
command.Flags = PuzzleEffectCommandFlags.Border |
PuzzleEffectCommandFlags.Shuffle |
PuzzleEffectCommandFlags.Count |
PuzzleEffectCommandFlags.Resize;
command.BorderColor = RasterColorHelper.Create(0,0,0);
// Apply Puzzle Effect to this image.
command.Run(image);
string destFileName = @"result.bmp";
StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24);
}