public class ScrambleCommand : RasterCommand
@interface LTScrambleCommand : LTRasterCommand
public class ScrambleCommand extends RasterCommand
public ref class ScrambleCommand : public RasterCommand
class ScrambleCommand(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:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.IOException;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.*;
import leadtools.*;
import leadtools.codecs.*;
import leadtools.imageprocessing.*;
public void scrambleCommandExample() {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
RasterCodecs codecs = new RasterCodecs();
String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref.cmp");
String scrambledFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref_scrambled.bmp");
String unscrambledFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref_unscrambled.bmp");
// Load the source image from disk
RasterImage image = codecs.load(srcFileName);
LeadRect rc = new LeadRect(0, 0, image.getWidth() / 2, image.getHeight() / 2);
int key = 123;
// Scramble it and save it to disk
ScrambleCommand command = new ScrambleCommand();
command.setFlags(ScrambleCommandFlags.ENCRYPT.getValue());
command.setRectangle(rc);
command.setKey(key);
command.run(image);
codecs.save(image, scrambledFileName, RasterImageFormat.BMP, 24);
// Unscramble the image and save it to disk
command.setFlags(ScrambleCommandFlags.DECRYPT.getValue());
command.run(image);
codecs.save(image, unscrambledFileName, RasterImageFormat.BMP, 24);
assertTrue("file unsuccessfully saved to " + unscrambledFileName, (new File(unscrambledFileName)).exists());
System.out.printf("File saved successfully to %s%n", unscrambledFileName);
// Clean Up
image.dispose();
codecs.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