Leadtools.ImageProcessing Namespace : RasterCommandProcessor Class |
public class RasterCommandProcessor
'Declaration Public Class RasterCommandProcessor
'Usage Dim instance As RasterCommandProcessor
public sealed class RasterCommandProcessor
function Leadtools.ImageProcessing.RasterCommandProcessor()
public ref class RasterCommandProcessor
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
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"; }
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); }
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
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2