Leadtools.ImageProcessing Namespace : ScrambleCommand Class |
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
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).
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(); }