Scrambles all or a portion of an image.
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;
using LeadtoolsExamples.Common;
public void ScrambleCommandExample()
{
RasterCodecs codecs = new RasterCodecs();
string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
string scrambledFileName = Path.Combine(ImagesPath.Path, "Image1_scrambled.bmp");
string unscrambledFileName = Path.Combine(ImagesPath.Path, "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();
}
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:\Users\Public\Documents\LEADTOOLS Images"
End Class
c#[Silverlight C# Example]
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Examples;
using Leadtools.ImageProcessing;
using Leadtools.Windows.Media;
//public void ScrambleCommandExample(RasterImage image, Stream destStream1, Stream destStream2)
//{
// RasterCodecs codecs = new RasterCodecs();
// 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.LeadRect = rc;
// command.Key = key;
// command.Run(image);
// codecs.Save(image, destStream1, RasterImageFormat.Bmp, 24);
// // Unscramble the image and save it to disk
// command.Flags = ScrambleCommandFlags.Decrypt;
// command.Run(image);
// codecs.Save(image, destStream2, RasterImageFormat.Bmp, 24);
// // Clean Up
// image.Dispose();
//}
vb[Silverlight VB Example]
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.Windows.Media
'public void ScrambleCommandExample(RasterImage image, Stream destStream1, Stream destStream2)
'{
' RasterCodecs codecs = new RasterCodecs();
' 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.LeadRect = rc;
' command.Key = key;
' command.Run(image);
' codecs.Save(image, destStream1, RasterImageFormat.Bmp, 24);
' // Unscramble the image and save it to disk
' command.Flags = ScrambleCommandFlags.Decrypt;
' command.Run(image);
' codecs.Save(image, destStream2, RasterImageFormat.Bmp, 24);
' // Clean Up
' image.Dispose();
'}
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