LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

CloneCommand Class

Example 





Members 
Creates a copy of a a Leadtools.RasterImage object. .NET support Silverlight support WinRT support
Object Model
CloneCommand ClassRasterImage ClassRasterImage Class
Syntax
public class CloneCommand : RasterCommand, IRasterCommand  
'Declaration
 
Public Class CloneCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
'Usage
 
Dim instance As CloneCommand
public sealed class CloneCommand : IRasterCommand  
function Leadtools.ImageProcessing.CloneCommand()
public ref class CloneCommand : public RasterCommand, IRasterCommand  
Remarks

After the command is run, a copy of the current page of the source image will be in the CloneCommand.DestinationImage property. This property will hold a copy of the image, so the user is responsible for freeing this image after using it.

If a region is defined for the image, the region is also copied.

If the source image has more than one page, then you can use the CloneCommand.AllPages property to control whether to clone all the pages in the image or only the current page.

You can use the RasterImage.Clone method instead of this command to create a clone of an image. If you need to clone a multi-page Leadtools.RasterImage object, then use the RasterImage.CloneAll method. These methods will also clone any metadata (tags, comments and markers) located in the source image however, you lose the benefit of using a progress monitor.

Example
 
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
public void CloneCommandExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "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();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
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();
                });
        }
    }
}
[TestMethod]
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();
}
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();
}
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
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

CloneCommand Members
Leadtools.ImageProcessing Namespace

 

 


Products | Support | Contact Us | Copyright Notices

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