public class ScrambleCommand : RasterCommand
Public Class ScrambleCommand
Inherits RasterCommand
@interface LTScrambleCommand : LTRasterCommand
public class ScrambleCommand extends RasterCommand
public ref class ScrambleCommand : public RasterCommand
This command is available in the Document/Medical Imaging editions toolkits.
Scrambling a rectangular area means that the pixels in that area are shuffled around into a pseudo-random location within the area.
Given the same encrypt area (defined by ScrambleCommand.Rectangle) and the same ScrambleCommand.Key, setting ( ScrambleCommand.Flags = ScrambleCommandFlags.Encrypt) is the inverse of (ScrambleCommand.Flags = ScrambleCommandFlags.Decrypt).
This example will scramble the upper-left quadrant of an image using the key 123 and then save the image to disk. It will then unscramble it and saves it disk for comparison.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
public void ScrambleCommandExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
string scrambledFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_scrambled.bmp");
string unscrambledFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_unscrambled.bmp");
// Load the source image from disk
RasterImage image = codecs.Load(srcFileName);
LeadRect rc = new LeadRect(0, 0, image.Width / 2, image.Height / 2);
int key = 123;
// Scramble it and save it to disk
ScrambleCommand command = new ScrambleCommand();
command.Flags = ScrambleCommandFlags.Encrypt;
command.Rectangle = rc;
command.Key = key;
command.Run(image);
codecs.Save(image, scrambledFileName, RasterImageFormat.Bmp, 24);
// Unscramble the image and save it to disk
command.Flags = ScrambleCommandFlags.Decrypt;
command.Run(image);
codecs.Save(image, unscrambledFileName, RasterImageFormat.Bmp, 24);
// Clean Up
image.Dispose();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Public Sub ScrambleCommandExample()
Dim codecs As RasterCodecs = New RasterCodecs()
Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
Dim scrambledFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_scrambled.bmp")
Dim unscrambledFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_unscrambled.bmp")
' Load the source image from disk
Dim image As RasterImage = codecs.Load(srcFileName)
Dim rc As LeadRect = New LeadRect(0, 0, image.Width \ 2, image.Height \ 2)
Dim key As Integer = 123
' Scramble it and save it to disk
Dim command As ScrambleCommand = New ScrambleCommand()
command.Flags = ScrambleCommandFlags.Encrypt
command.Rectangle = rc
command.Key = key
command.Run(image)
codecs.Save(image, scrambledFileName, RasterImageFormat.Bmp, 24)
' Unscramble the image and save it to disk
command.Flags = ScrambleCommandFlags.Decrypt
command.Run(image)
codecs.Save(image, unscrambledFileName, RasterImageFormat.Bmp, 24)
' Clean Up
image.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"
End Class
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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.