Gets or sets a value that indicates whether to clone all the pages if the source image is multipage.
public bool AllPages { get; set; }
Public Property AllPages As Boolean
@property (nonatomic, assign) BOOL allPages
public final boolean getAllPages()
public final void setAllPages(boolean value)
true to clone all the pages if the source image is multipage; false, otherwise.
If the source image (the image passed to the RasterCommand.Run method) contains multiple pages, then you can use the AllPages property to control whether the CloneCommand will create a copy of the current active page or all the pages in the image.
Note that when the source image has multiple pages and the value of AllPages was set to true, then the RasterCommand.Progress event will fire from 0 to 100 for each page processed. If an overall progress percentage is desired, then you can inspect the RasterImage.Page and RasterImage.PageCount properties of the SourceImage property to calculate this value as shown in the example below.
The default value of this property is false to clone only the current page.
This example will clone a multipage image and shows the over-all progress value.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;
using LeadtoolsExamples.Common;
private void CloneAllTest()
{
RasterCodecs codecs = new RasterCodecs();
// Create a multi-page image for testing purposes
RasterImage image = null;
for (int i = 1; i <= 4; i++)
{
RasterImage pageImage = codecs.Load(Path.Combine(ImagesPath.Path, "OCR" + i.ToString() + ".tif"));
if (image == null)
image = pageImage;
else
{
image.AddPage(pageImage);
pageImage.Dispose();
}
}
Console.WriteLine("Input image has {0} pages", image.PageCount);
// Clone all pages
CloneCommand cloneCmd = new CloneCommand();
cloneCmd.AllPages = true;
cloneCmd.Progress += new EventHandler<RasterCommandProgressEventArgs>(cloneCmd_Progress);
cloneCmd.Run(image);
cloneCmd.Progress -= new EventHandler<RasterCommandProgressEventArgs>(cloneCmd_Progress);
RasterImage destinationImage = cloneCmd.DestinationImage;
Console.WriteLine("Cloned image has {0} pages", destinationImage.PageCount);
destinationImage.Dispose();
image.Dispose();
codecs.Dispose();
}
private void cloneCmd_Progress(object sender, RasterCommandProgressEventArgs e)
{
// By using the SourceImage property of the CloneCommand we can find out
// the progress for the current page as well as the overall
CloneCommand cmd = sender as CloneCommand;
int overallPercent;
if (cmd.AllPages && cmd.SourceImage.PageCount > 1)
{
// For multiple-pages, the command will fire the Progress event from 0 to 100 for each page
// Use the source image Page property to find out where we are in overall completetion
overallPercent = ((cmd.SourceImage.Page - 1) * 100 + e.Percent) / cmd.SourceImage.PageCount;
}
else
{
// Otherwise, the percent is the same as the current page
overallPercent = e.Percent;
}
Console.WriteLine("Current page completion: {0} of {1} - {2}% - Overall image completion {3}%", cmd.SourceImage.Page, cmd.SourceImage.PageCount, e.Percent, overallPercent);
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Private Sub CloneAllTest()
Dim codecs As New RasterCodecs()
' Create a multi-page image for testing purposes
Dim image As RasterImage = Nothing
For i As Integer = 1 To 4
Dim pageImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "\OCR" + i.ToString() + ".tif"))
If IsNothing(image) Then
image = pageImage
Else
image.AddPage(pageImage)
pageImage.Dispose()
End If
Next
Console.WriteLine("Input image has {0} pages", image.PageCount)
' Clone all pages
Dim cloneCmd As New CloneCommand()
cloneCmd.AllPages = True
AddHandler cloneCmd.Progress, AddressOf cloneCmd_Progress
cloneCmd.Run(image)
RemoveHandler cloneCmd.Progress, AddressOf cloneCmd_Progress
Dim destinationImage As RasterImage = cloneCmd.DestinationImage
Console.WriteLine("Cloned image has {0} pages", destinationImage.PageCount)
destinationImage.Dispose()
image.Dispose()
codecs.Dispose()
End Sub
Private Sub cloneCmd_Progress(ByVal sender As Object, ByVal e As RasterCommandProgressEventArgs)
' By using the SourceImage property of the CloneCommand we can find out
' the progress for the current page as well as the overall
Dim cmd As CloneCommand = DirectCast(sender, CloneCommand)
Dim overallPercent As Integer
If cmd.AllPages AndAlso cmd.SourceImage.PageCount > 1 Then
' For multiple-pages, the command will fire the Progress event from 0 to 100 for each page
' Use the source image Page property to find out where we are in overall completetion
overallPercent = ((cmd.SourceImage.Page - 1) * 100 + e.Percent) \ cmd.SourceImage.PageCount
Else
' Otherwise, the percent is the same as the current page
overallPercent = e.Percent
End If
Console.WriteLine("Current page completion: {0} of {1} - {2}% - Overall image completion {3}%",
cmd.SourceImage.Page, cmd.SourceImage.PageCount, e.Percent, overallPercent)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
c#[Silverlight C# Example]
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Examples;
using Leadtools.ImageProcessing;
using Leadtools.Windows.Media;
private void CloneAllTest(RasterImage image1, RasterImage image2, RasterImage image3, RasterImage image4)
{
// Create a multi-page image for testing purposes
RasterImage image = null;
image = image1;
image.AddPage(image2);
image.AddPage(image3);
image.AddPage(image4);
Debug.WriteLine("Input image has {0} pages", image.PageCount);
// Clone all pages
CloneCommand cloneCmd = new CloneCommand();
cloneCmd.AllPages = true;
cloneCmd.Progress += new EventHandler<RasterCommandProgressEventArgs>(cloneCmd_Progress);
cloneCmd.Run(image);
cloneCmd.Progress -= new EventHandler<RasterCommandProgressEventArgs>(cloneCmd_Progress);
RasterImage destinationImage = cloneCmd.DestinationImage;
Debug.WriteLine("Cloned image has {0} pages", destinationImage.PageCount);
destinationImage.Dispose();
image.Dispose();
image1.Dispose();
image2.Dispose();
image3.Dispose();
image4.Dispose();
}
private void cloneCmd_Progress(object sender, RasterCommandProgressEventArgs e)
{
// By using the SourceImage property of the CloneCommand we can find out
// the progress for the current page as well as the overall
CloneCommand cmd = sender as CloneCommand;
int overallPercent;
if (cmd.AllPages && cmd.SourceImage.PageCount > 1)
{
// For multiple-pages, the command will fire the Progress event from 0 to 100 for each page
// Use the source image Page property to find out where we are in overall completetion
overallPercent = ((cmd.SourceImage.Page - 1) * 100 + e.Percent) / cmd.SourceImage.PageCount;
}
else
{
// Otherwise, the percent is the same as the current page
overallPercent = e.Percent;
}
Debug.WriteLine("Current page completion: {0} of {1} - {2}% - Overall image completion {3}%", cmd.SourceImage.Page, cmd.SourceImage.PageCount, e.Percent, overallPercent);
}
vb[Silverlight VB Example]
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.Windows.Media
Private Sub CloneAllTest(ByVal image1 As RasterImage, ByVal image2 As RasterImage, ByVal image3 As RasterImage, ByVal image4 As RasterImage)
' Create a multi-page image for testing purposes
Dim image As RasterImage = Nothing
image = image1
image.AddPage(image2)
image.AddPage(image3)
image.AddPage(image4)
Debug.WriteLine("Input image has {0} pages", image.PageCount)
' Clone all pages
Dim cloneCmd As CloneCommand = New CloneCommand()
cloneCmd.AllPages = True
AddHandler cloneCmd.Progress, AddressOf cloneCmd_Progress
cloneCmd.Run(image)
RemoveHandler cloneCmd.Progress, AddressOf cloneCmd_Progress
Dim destinationImage As RasterImage = cloneCmd.DestinationImage
Debug.WriteLine("Cloned image has {0} pages", destinationImage.PageCount)
destinationImage.Dispose()
image.Dispose()
image1.Dispose()
image2.Dispose()
image3.Dispose()
image4.Dispose()
End Sub
Private Sub cloneCmd_Progress(ByVal sender As Object, ByVal e As RasterCommandProgressEventArgs)
' By using the SourceImage property of the CloneCommand we can find out
' the progress for the current page as well as the overall
Dim cmd As CloneCommand = TryCast(sender, CloneCommand)
Dim overallPercent As Integer
If cmd.AllPages AndAlso cmd.SourceImage.PageCount > 1 Then
' For multiple-pages, the command will fire the Progress event from 0 to 100 for each page
' Use the source image Page property to find out where we are in overall completetion
overallPercent = ((cmd.SourceImage.Page - 1) * 100 + e.Percent) / cmd.SourceImage.PageCount
Else
' Otherwise, the percent is the same as the current page
overallPercent = e.Percent
End If
Debug.WriteLine("Current page completion: {0} of {1} - {2}% - Overall image completion {3}%", cmd.SourceImage.Page, cmd.SourceImage.PageCount, e.Percent, overallPercent)
End Sub
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document