Batch processes a collection of
RasterCommand object on a collection of
RasterImage objects.
Object Model
Syntax
Visual Basic (Declaration) | |
---|
Public Class RasterCommandProcessor |
C# | |
---|
public class RasterCommandProcessor |
C++/CLI | |
---|
public ref class RasterCommandProcessor |
Example
This example will load multiple images from disk and executes multiple image proecessing commands on them before
saving the result into a single multi-page tif file.
Visual Basic | Copy Code |
---|
Public Sub RasterCommandProcessorExample()
RasterCodecs.Startup()
Dim codecs As RasterCodecs = New RasterCodecs()
Dim srcFileDir As String = LeadtoolsExamples.Common.ImagesPath.Path
Dim destFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "RasterCommandProcessor.tif"
Dim processor As RasterCommandProcessor = New RasterCommandProcessor()
processor.Commands.Add(New ColorResolutionCommand(ColorResolutionCommandMode.InPlace, 8, RasterByteOrder.Rgb, RasterDitheringMethod.None, ColorResolutionCommandPaletteFlags.Optimized, Nothing))
processor.Commands.Add(New FlipCommand(False))
Const imageCount As Integer = 4
For i As Integer = 0 To imageCount - 1
Dim srcFileName As String = Path.Combine(srcFileDir, String.Format("Image{0}.cmp", i + 1))
processor.Images.Add(codecs.Load(srcFileName))
Next i
AddHandler processor.Progress, AddressOf processor_Progress
processor.Run()
RemoveHandler processor.Progress, AddressOf processor_Progress
If File.Exists(destFileName) Then
File.Delete(destFileName)
End If
For i As Integer = 0 To imageCount - 1
codecs.Save(processor.Images(i), destFileName, RasterImageFormat.Tif, 8, 1, 1, -1, CodecsSavePageMode.Append)
Next i
For i As Integer = 0 To imageCount - 1
processor.Images(i).Dispose()
Next i
RasterCodecs.Shutdown()
End Sub
Private Sub processor_Progress(ByVal sender As Object, ByVal e As RasterCommandProcessorProgressEventArgs)
Console.Write("Running command {0} ({1}) of {2}, ", e.CommandNumber, e.Command, e.TotalCommands)
Console.Write("On image {0} ({1} by {2} pixels) of {3}, ", e.ImageNumber, e.Image.Width, e.Image.Height, e.TotalImages)
Console.WriteLine("{0}% done", e.Percent)
End Sub |
C# | Copy Code |
---|
public void RasterCommandProcessorExample() { RasterCodecs.Startup(); RasterCodecs codecs = new RasterCodecs(); string srcFileDir = LeadtoolsExamples.Common.ImagesPath.Path; string destFileName = LeadtoolsExamples.Common.ImagesPath.Path + "RasterCommandProcessor.tif"; // create a raster command processor RasterCommandProcessor processor = new RasterCommandProcessor(); // add the commands (color-res to 8 then flip) processor.Commands.Add(new ColorResolutionCommand( ColorResolutionCommandMode.InPlace, 8, RasterByteOrder.Rgb, RasterDitheringMethod.None, ColorResolutionCommandPaletteFlags.Optimized, null)); processor.Commands.Add(new FlipCommand(false)); // load the images const int imageCount = 4; for(int i = 0; i < imageCount; i++) { string srcFileName = Path.Combine(srcFileDir, string.Format("Image{0}.cmp", i + 1)); processor.Images.Add(codecs.Load(srcFileName)); } // run the commands processor.Progress += new EventHandler<RasterCommandProcessorProgressEventArgs>(processor_Progress); processor.Run(); processor.Progress -= new EventHandler<RasterCommandProcessorProgressEventArgs>(processor_Progress); // save the result image as multi-page tif file if(File.Exists(destFileName)) File.Delete(destFileName); for(int i = 0; i < imageCount; i++) codecs.Save( processor.Images[i], destFileName, RasterImageFormat.Tif, 8, 1, 1, -1, CodecsSavePageMode.Append); // clean up for(int i = 0; i < imageCount; i++) processor.Images[i].Dispose(); RasterCodecs.Shutdown(); } void processor_Progress(object sender, RasterCommandProcessorProgressEventArgs e) { // show information about the command Console.Write("Running command {0} ({1}) of {2}, ", e.CommandNumber, e.Command, e.TotalCommands); Console.Write("On image {0} ({1} by {2} pixels) of {3}, ", e.ImageNumber, e.Image.Width, e.Image.Height, e.TotalImages); Console.WriteLine("{0}% done", e.Percent); } |
Remarks
Inheritance Hierarchy
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also