←Select platform

ScrambleCommand Class

Summary
Scrambles all or a portion of an image.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class ScrambleCommand : RasterCommand 
@interface LTScrambleCommand : LTRasterCommand 
public class ScrambleCommand extends RasterCommand 
public ref class ScrambleCommand : public RasterCommand   
class ScrambleCommand(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#
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:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

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

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.