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