LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

CloneCommandクラス








メンバ 
コピーを作成しますRasterImageオブジェクト。
オブジェクトモデル
構文
public class CloneCommand : RasterCommand, IRasterCommand  
'Declaration
 
Public Class CloneCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
'Usage
 
Dim instance As CloneCommand
public sealed class CloneCommand : IRasterCommand  
@interface LTCloneCommand : LTRasterCommand
public class CloneCommand extends RasterCommand
function Leadtools.ImageProcessing.CloneCommand()
public ref class CloneCommand : public RasterCommand, IRasterCommand  
解説

コマンドの実行後、ソース画像の現在のページのコピーはCloneCommand.DestinationImageプロパティにあります。このプロパティはimageのコピーを保持するので、ユーザーはそれを使った後にこのimageを開放する役割を果たします。

リージョンがimageのために定義されるならば、リージョンもコピーされます。

ソース画像に1ページを超えるページがある場合、CloneCommand.AllPagesプロパティを使って、画像内のすべてのページのクローンを作成するか現在のページのみにするのかを制御できます。

imageのcloneを作成するために、このコマンドの代わりにRasterImage.Cloneメソッドを使うことができます。マルチページRasterImageオブジェクトをクローンする必要があるならば、RasterImage.CloneAllメソッドを使います。これらのメソッドでも、ソース画像内に置かれている任意のメタデータ(タグ、コメントおよびマーカー)のクローンを作成できますが、進捗モニタを利用するメリットが失われます。

サンプル

このサンプルはimageをロードして、それからディスクへそれを保存する前に、それをクローンします。複数ページのimageをクローンして、全体的な進捗モニターを示す方法のサンプルのために、CloneCommand.AllPagesプロパティを参照します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing

      
Public Sub CloneCommandExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")

   ' Load the source image from disk
   Dim image As RasterImage = codecs.Load(srcFileName)

   ' Clone it, first, into conventional memory
   Dim command As CloneCommand = New CloneCommand()
   command.CreateFlags = RasterMemoryFlags.Conventional
   command.Run(image)

   Dim destImage1 As RasterImage = command.DestinationImage

   ' Make sure it is in conventional memory
   Console.WriteLine("Memory is: {0}", destImage1.MemoryInformation.MemoryFlags)

   ' Clone it again this time to disk memory
   command.CreateFlags = RasterMemoryFlags.Disk
   command.Run(image)

   Dim destImage2 As RasterImage = command.DestinationImage

   ' Make sure it is in disk memory
   Console.WriteLine("Memory is: {0}", destImage2.MemoryInformation.MemoryFlags)

   ' Clean Up
   destImage1.Dispose()
   destImage2.Dispose()
   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 CloneCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");

   // Load the source image from disk
   RasterImage image = codecs.Load(srcFileName);

   // Clone it, first, into conventional memory
   CloneCommand command = new CloneCommand();
   command.CreateFlags = RasterMemoryFlags.Conventional;
   command.Run(image);

   RasterImage destImage1 = command.DestinationImage;

   // Make sure it is in conventional memory
   Console.WriteLine("Memory is: {0}", destImage1.MemoryInformation.MemoryFlags);

   // Clone it again this time to disk memory
   command.CreateFlags = RasterMemoryFlags.Disk;
   command.Run(image);

   RasterImage destImage2 = command.DestinationImage;

   // Make sure it is in disk memory
   Console.WriteLine("Memory is: {0}", destImage2.MemoryInformation.MemoryFlags);

   // Clean Up
   destImage1.Dispose();
   destImage2.Dispose();
   image.Dispose();
   codecs.Dispose();
}
RasterCommandExamples.prototype.CloneCommandExample = function () {

    Tools.SetLicense();
    with (Leadtools) {
        with (Leadtools.Codecs) {
            var codecs = new RasterCodecs();

            var srcFileName = "Assets\\Image1.cmp";
            var image;
            // 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;

                    // Clone it, first, into conventional memory
                    var command = new Leadtools.ImageProcessing.CloneCommand();
                    command.createFlags = RasterMemoryFlags.conventional;

                    command.run(image);

                    var destImage1 = command.destinationImage;

                    // Make sure it is in conventional memory
                    console.info("Memory is: ", destImage1.memoryInformation.memoryFlags);

                    // Clone it again this time to disk memory
                    command.createFlags = RasterMemoryFlags.disk;
                    command.run(image);

                    var destImage2 = command.destinationImage;

                    // Make sure it is in disk memory
                    console.info("Memory is: ", destImage2.memoryInformation.memoryFlags);

                    // Clean Up
                    destImage1.close();
                    destImage2.close();
                    image.close();
                    codecs.close();
                });
        }
    }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public async Task CloneCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";

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

   // Clone it, first, into conventional memory
   CloneCommand command = new CloneCommand();
   command.CreateFlags = RasterMemoryFlags.Conventional;

   command.Run(image);

   RasterImage destImage1 = command.DestinationImage;

   // Make sure it is in conventional memory
   Debug.WriteLine("Memory is: {0}", destImage1.MemoryInformation.MemoryFlags);

   // Clone it again this time to disk memory
   command.CreateFlags = RasterMemoryFlags.Disk;
   command.Run(image);

   RasterImage destImage2 = command.DestinationImage;

   // Make sure it is in disk memory
   Debug.WriteLine("Memory is: {0}", destImage2.MemoryInformation.MemoryFlags);

   // Clean Up
   destImage1.Dispose();
   destImage2.Dispose();
   image.Dispose();
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Examples;
using Leadtools.ImageProcessing;
using Leadtools.Windows.Media;

public void CloneCommandExample(RasterImage image)
{
   // Clone it, first, into conventional memory
   CloneCommand command = new CloneCommand();
   command.CreateFlags = RasterMemoryFlags.Conventional;
   command.Run(image);
   RasterImage destImage1 = command.DestinationImage;

   // Make sure it is in conventional memory
   Debug.WriteLine("Memory is: {0}", destImage1.IsConventionalMemory);
   Debug.Assert(destImage1.IsConventionalMemory);

   // Clone it again this time to disk memory
   command.CreateFlags = RasterMemoryFlags.Disk;
   command.Run(image);

   RasterImage destImage2 = command.DestinationImage;

   // Make sure it is in disk memory
   Debug.WriteLine("Memory is: {0}", destImage2.IsDiskMemory);
   Debug.Assert(destImage1.IsDiskMemory);

   // Clean Up
   destImage1.Dispose();
   destImage2.Dispose();
   image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.Windows.Media

Public Sub CloneCommandExample(ByVal image As RasterImage)
   ' Clone it, first, into conventional memory
   Dim command As CloneCommand = New CloneCommand()
   command.CreateFlags = RasterMemoryFlags.Conventional
   command.Run(image)
   Dim destImage1 As RasterImage = command.DestinationImage

   ' Make sure it is in conventional memory
   Debug.WriteLine("Memory is: {0}", destImage1.IsConventionalMemory)
   Debug.Assert(destImage1.IsConventionalMemory)

   ' Clone it again this time to disk memory
   command.CreateFlags = RasterMemoryFlags.Disk
   command.Run(image)

   Dim destImage2 As RasterImage = command.DestinationImage

   ' Make sure it is in disk memory
   Debug.WriteLine("Memory is: {0}", destImage2.IsDiskMemory)
   Debug.Assert(destImage1.IsDiskMemory)

   ' Clean Up
   destImage1.Dispose()
   destImage2.Dispose()
   image.Dispose()
End Sub
必要条件

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

参照

参照

CloneCommandメンバ
Leadtools.ImageProcessing名前空間