Products | Support | Email a link to this topic. | Send comments on this topic. | Back to Introduction - All Topics | Help Version 19.0.6.28
|
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
This example will load multiple images from disk and executes multiple image processing commands on them before saving the result into a single multi-page tif file.
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing 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
using Leadtools; using Leadtools.Codecs; using Leadtools.ImageProcessing; public void RasterCommandProcessorExample() { RasterCodecs codecs = new RasterCodecs(); string destFileName = Path.Combine(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(ImagesPath.Path, 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); }
using Leadtools; using Leadtools.Codecs; using Leadtools.Examples; using Leadtools.ImageProcessing; using Leadtools.Windows.Media; 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); }
Imports Leadtools Imports Leadtools.Codecs Imports Leadtools.ImageProcessing Imports Leadtools.Windows.Media 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