Scrambles all or a portion of an image.
public class ScrambleCommand : RasterCommand Public Class ScrambleCommandInherits Leadtools.Imageprocessing.RasterCommandImplements Leadtools.Imageprocessing.IRasterCommand
public sealed class ScrambleCommand : Leadtools.Imageprocessing.IRasterCommand @interface LTScrambleCommand : LTRasterCommand public class ScrambleCommand extends RasterCommand function Leadtools.ImageProcessing.ScrambleCommand() public ref class ScrambleCommand : public Leadtools.Imageprocessing.RasterCommand, Leadtools.Imageprocessing.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).
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;using LeadtoolsExamples.Common;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 diskRasterImage 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 diskScrambleCommand 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 diskcommand.Flags = ScrambleCommandFlags.Decrypt;command.Run(image);codecs.Save(image, unscrambledFileName, RasterImageFormat.Bmp, 24);// Clean Upimage.Dispose();codecs.Dispose();}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingPublic 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 diskDim 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 diskDim command As ScrambleCommand = New ScrambleCommand()command.Flags = ScrambleCommandFlags.Encryptcommand.Rectangle = rccommand.Key = keycommand.Run(image)codecs.Save(image, scrambledFileName, RasterImageFormat.Bmp, 24)' Unscramble the image and save it to diskcommand.Flags = ScrambleCommandFlags.Decryptcommand.Run(image)codecs.Save(image, unscrambledFileName, RasterImageFormat.Bmp, 24)' Clean Upimage.Dispose()End SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
using Leadtools;using Leadtools.Codecs;using Leadtools.Examples;using Leadtools.ImageProcessing;using Leadtools.Windows.Media;//public void ScrambleCommandExample(RasterImage image, Stream destStream1, Stream destStream2)//{// RasterCodecs codecs = new RasterCodecs();// 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.LeadRect = rc;// command.Key = key;// command.Run(image);// codecs.Save(image, destStream1, RasterImageFormat.Bmp, 24);// // Unscramble the image and save it to disk// command.Flags = ScrambleCommandFlags.Decrypt;// command.Run(image);// codecs.Save(image, destStream2, RasterImageFormat.Bmp, 24);// // Clean Up// image.Dispose();//}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingImports Leadtools.Windows.Media'public void ScrambleCommandExample(RasterImage image, Stream destStream1, Stream destStream2)'{' RasterCodecs codecs = new RasterCodecs();' 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.LeadRect = rc;' command.Key = key;' command.Run(image);' codecs.Save(image, destStream1, RasterImageFormat.Bmp, 24);' // Unscramble the image and save it to disk' command.Flags = ScrambleCommandFlags.Decrypt;' command.Run(image);' codecs.Save(image, destStream2, RasterImageFormat.Bmp, 24);' // Clean Up' image.Dispose();'}
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
