LEADTOOLS (Leadtools assembly)

ScrambleCommand Class

Show in webframe
Example 







Members 
Scrambles all or a portion of an image.
Object Model
Syntax
public class ScrambleCommand : RasterCommand, IRasterCommand  
'Declaration
 
Public Class ScrambleCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
'Usage
 
Dim instance As ScrambleCommand
public sealed class ScrambleCommand : IRasterCommand  
@interface LTScrambleCommand : LTRasterCommand
public class ScrambleCommand extends RasterCommand
function Leadtools.ImageProcessing.ScrambleCommand()
public ref class ScrambleCommand : public RasterCommand, IRasterCommand  
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.

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
Copy Code  
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
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
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();
}
RasterCommandExamples.prototype.ScrambleCommandExample = function () {
    Tools.SetLicense();
    with (Leadtools) {
        with (Leadtools.Codecs) {
            with (Leadtools.ImageProcessing) {
                var codecs = new RasterCodecs();

                var srcFileName = "Assets\\Image1.cmp";
                var scrambledFileName = "Image1_scrambled.bmp";
                var unscrambledFileName = "Image1_unscrambled.bmp";
                var image;
                var command;
                // Load the source image from disk
                return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
                    return codecs.loadAsync(LeadStreamFactory.create(loadFile))
                })
            .then(function (img) {
                image = img;

                var rc = LeadRectHelper.create(0, 0, image.width / 2, image.height / 2);
                var key = 123;

                // Scramble it and save it to disk
                command = new ScrambleCommand();
                command.flags = ScrambleCommandFlags.encrypt;
                command.rectangle = rc;
                command.key = key;
                command.run(image);
                return Tools.AppLocalFolder().createFileAsync(scrambledFileName)
            })
            .then(function (saveFile) {
                return codecs.saveAsync(image, LeadStreamFactory.create(saveFile), RasterImageFormat.bmp, 24)
            })
            .then(function () {

                // Unscramble the image and save it to disk
                command.flags = ScrambleCommandFlags.decrypt;
                command.run(image);
                return Tools.AppLocalFolder().createFileAsync(unscrambledFileName)
            })
            .then(function (saveFile) {
                return codecs.saveAsync(image, LeadStreamFactory.create(saveFile), RasterImageFormat.bmp, 24)
            })
            .then(function () {
                // Clean Up
                image.close();
                codecs.close();
            });
            }
        }
    }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public async Task ScrambleCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string scrambledFileName = @"Image1_scrambled.bmp";
   string unscrambledFileName = @"Image1_unscrambled.bmp";

   // Load the source image from disk
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   LeadRect rc = LeadRectHelper.Create(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);
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(scrambledFileName);
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24);

   // Unscramble the image and save it to disk
   command.Flags = ScrambleCommandFlags.Decrypt;
   command.Run(image);
   saveFile = await Tools.AppLocalFolder.CreateFileAsync(unscrambledFileName);
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24);

   // Clean Up
   image.Dispose();
}
Requirements

Target Platforms

See Also

Reference

ScrambleCommand Members
Leadtools.ImageProcessing Namespace

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.