Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.28
|
Leadtools.ImageProcessing Namespace : CloneCommand Class |
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
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 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.
This example will load an image and then clone it before saving it back to disk. For an example on how to clone a multi-page image and show the overall progress monitor, refer to the CloneCommand.AllPages property.
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