←Select platform

ScrambleCommand Class

Summary
Scrambles all or a portion of an image.
Syntax
C#
VB
Objective-C
C++
Java
public class ScrambleCommand : RasterCommand 
Public Class ScrambleCommand  
   Inherits RasterCommand 
@interface LTScrambleCommand : LTRasterCommand 
public class ScrambleCommand extends RasterCommand 
public ref class ScrambleCommand : public RasterCommand   
Remarks

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.

  • No colors are introduced
  • Color counts remain unchanged

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).

Example

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.

C#
VB
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 
Requirements

Target Platforms

Help Version 21.0.2021.3.5
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly