Visual Basic (Declaration) | |
---|---|
Public Class RasterCommandProcessor |
Visual Basic (Usage) | Copy Code |
---|---|
Dim instance As RasterCommandProcessor |
C# | |
---|---|
public class RasterCommandProcessor |
C++/CLI | |
---|---|
public ref class RasterCommandProcessor |
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() Dim codecs As RasterCodecs = New RasterCodecs() Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "RasterCommandProcessor.tif") ' create a raster command processor Dim processor As RasterCommandProcessor = 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, Nothing)) processor.Commands.Add(New FlipCommand(False)) ' load the images Const imageCount As Integer = 2 For i As Integer = 0 To imageCount - 1 Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, String.Format("Image{0}.cmp", i + 1)) processor.Images.Add(codecs.Load(srcFileName)) Next i ' run the commands AddHandler processor.Progress, AddressOf processor_Progress processor.Run() RemoveHandler processor.Progress, AddressOf processor_Progress ' save the result image as multi-page tif file 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 ' clean up For i As Integer = 0 To imageCount - 1 processor.Images(i).Dispose() Next i End Sub Private Sub processor_Progress(ByVal sender As Object, ByVal e As RasterCommandProcessorProgressEventArgs) ' 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) End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class |
C# | Copy Code |
---|---|
public void RasterCommandProcessorExample() { RasterCodecs codecs = new RasterCodecs(); string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "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(LEAD_VARS.ImagesDir, string.Format("Image{0}.cmp", (i + 1)%2+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(); } 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); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; } |
SilverlightCSharp | Copy Code |
---|---|
public void RasterCommandProcessorExample(RasterImage image1, RasterImage image2, RasterImage image3, Stream destStream) { RasterCodecs codecs = new RasterCodecs(); // 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)); // add the images processor.Images.Add(image1); processor.Images.Add(image2); processor.Images.Add(image3); // 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 for(int i = 0; i < 3; i++) codecs.Save( processor.Images[i], destStream, RasterImageFormat.Tif, 8, 1, 1, -1, CodecsSavePageMode.Append); // clean up for(int i = 0; i < 3; i++) processor.Images[i].Dispose(); } 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); Debug.WriteLine("{0}% done", e.Percent); } |
SilverlightVB | Copy Code |
---|---|
Public Sub RasterCommandProcessorExample(ByVal image1 As RasterImage, ByVal image2 As RasterImage, ByVal image3 As RasterImage, ByVal destStream As Stream) Dim codecs As RasterCodecs = New RasterCodecs() ' create a raster command processor Dim processor As RasterCommandProcessor = 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, Nothing)) processor.Commands.Add(New FlipCommand(False)) ' add the images processor.Images.Add(image1) processor.Images.Add(image2) processor.Images.Add(image3) ' run the commands AddHandler processor.Progress, AddressOf processor_Progress processor.Run() RemoveHandler processor.Progress, AddressOf processor_Progress ' save the result image as multi-page tif file For i As Integer = 0 To 2 codecs.Save(processor.Images(i), destStream, RasterImageFormat.Tif, 8, 1, 1, -1, CodecsSavePageMode.Append) Next i ' clean up For i As Integer = 0 To 2 processor.Images(i).Dispose() Next i End Sub Private Sub processor_Progress(ByVal sender As Object, ByVal e As RasterCommandProcessorProgressEventArgs) ' 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) Debug.WriteLine("{0}% done", e.Percent) End Sub |
Use the RasterCommandProcessor class to perform "batch" image processing, where one or more commands are executed on one or more images.
System.Object
Leadtools.ImageProcessing.RasterCommandProcessor
Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7