←Select platform

CloneCommand Class

Summary
Creates a copy of a RasterImage object.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public class CloneCommand : RasterCommand 
@interface LTCloneCommand : LTRasterCommand 
public class CloneCommand extends RasterCommand 
public ref class CloneCommand : public RasterCommand   
class CloneCommand(RasterCommand): 
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 multipage 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

This example will load an image and then clone it before saving it back to disk. For an example on how to clone a multipage image and show the overall progress monitor, refer to the CloneCommand.AllPages property.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
 
 
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(); 
	codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.imageprocessing.*; 
 
 
public void cloneCommandExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   RasterCodecs codecs = new RasterCodecs(); 
   String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "rgsref.cmp"); 
   String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "Result.cmp"); 
 
   // Load the source image from disk 
   RasterImage image = codecs.load(srcFileName); 
 
   // Clone it, first, into conventional memory 
   CloneCommand command = new CloneCommand(); 
   command.setCreateFlags(RasterMemoryFlags.CONVENTIONAL.getValue()); 
   command.run(image); 
 
   RasterImage destImage1 = command.getDestinationImage(); 
 
   // Make sure it is in conventional memory 
   System.out.printf("Memory is: %s%n", destImage1.getMemoryInformation().getMemoryFlags()); 
 
   // Clone it again this time to disk memory 
   command.setCreateFlags(RasterMemoryFlags.DISK.getValue()); 
   command.run(image); 
 
   RasterImage destImage2 = command.getDestinationImage(); 
 
   codecs.save(image, outputFileName, RasterImageFormat.CMP, 0); 
 
   assertTrue("file unsuccessfully saved to " + outputFileName, (new File(outputFileName)).exists()); 
   System.out.printf("File saved successfully to %s%n", outputFileName); 
 
   // Make sure it is in disk memory 
   System.out.printf("Memory is: %s%n", destImage2.getMemoryInformation().getMemoryFlags()); 
 
   // Clean Up 
   destImage1.dispose(); 
   destImage2.dispose(); 
   image.dispose(); 
   codecs.dispose(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.5.22
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.