public class RasterCommandProcessor Public Class RasterCommandProcessor public ref class RasterCommandProcessor Use the RasterCommandProcessor class to perform "batch" image processing, where one or more commands are executed on one or more images.
This example will load multiple images from disk and executes multiple image processing commands on them before saving the result into a single multipage tif file.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;public void RasterCommandProcessorExample(){RasterCodecs codecs = new RasterCodecs();string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "RasterCommandProcessor.tif");// create a raster command processorRasterCommandProcessor 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 imagesconst 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 commandsprocessor.Progress += new EventHandler<RasterCommandProcessorProgressEventArgs>(processor_Progress);processor.Run();processor.Progress -= new EventHandler<RasterCommandProcessorProgressEventArgs>(processor_Progress);// save the result image as multi-page tif fileif (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 upfor (int i = 0; i < imageCount; i++)processor.Images[i].Dispose();}void processor_Progress(object sender, RasterCommandProcessorProgressEventArgs e){// show information about the commandConsole.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:\LEADTOOLS21\Resources\Images";}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingPublic Sub RasterCommandProcessorExample()Dim codecs As RasterCodecs = New RasterCodecs()Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "RasterCommandProcessor.tif")' create a raster command processorDim 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 imagesConst imageCount As Integer = 2For i As Integer = 0 To imageCount - 1Dim 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 commandsAddHandler processor.Progress, AddressOf processor_Progressprocessor.Run()RemoveHandler processor.Progress, AddressOf processor_Progress' save the result image as multi-page tif fileIf File.Exists(destFileName) ThenFile.Delete(destFileName)End IfFor i As Integer = 0 To imageCount - 1codecs.Save(processor.Images(i), destFileName, RasterImageFormat.Tif, 8, 1, 1, -1, CodecsSavePageMode.Append)Next i' clean upFor i As Integer = 0 To imageCount - 1processor.Images(i).Dispose()Next iEnd SubPrivate Sub processor_Progress(ByVal sender As Object, ByVal e As RasterCommandProcessorProgressEventArgs)' show information about the commandConsole.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 SubPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"End Class
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
