LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

ScrambleCommandクラス








メンバ 
画像の全部または一部をスクランブルします。
オブジェクトモデル
構文
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  
解説

このコマンドはDocument/Medical画像化版ツールキットで利用できます。

長方形の領域をスクランブルすることは、その領域のピクセルが領域の中で疑似乱数場所にまわりでまぜられることを意味します。

同じことが領域(ScrambleCommand.Rectangleによって定義)と同じScrambleCommand.Key(設定)(ScrambleCommand.Flags = ScrambleCommandFlags.Encrypt)を暗号化すると想定すれば、逆です(ScrambleCommand.Flags = ScrambleCommandFlags.Decrypt)。

サンプル

このサンプルはキー123を用いてimageの左上カドラントをスクランブルして、それからディスクにimageを保存します。それはそれをその後元に戻して、比較のためにそれにディスクを取っておきます。

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();
}
必要条件

ターゲットプラットホーム

参照

参照

ScrambleCommandメンバ
Leadtools.ImageProcessing名前空間