LEADTOOLS (Leadtools assembly)

RasterCommandProcessor Class

Show in webframe
Example 







Members 
Batch processes a collection of RasterCommand object on a collection of Leadtools.RasterImage objects.
Object Model
Syntax
public class RasterCommandProcessor 
'Declaration
 
Public Class RasterCommandProcessor 
'Usage
 
Dim instance As RasterCommandProcessor
public sealed class RasterCommandProcessor 

            

            
function Leadtools.ImageProcessing.RasterCommandProcessor()
public ref class RasterCommandProcessor 
Remarks
Use the RasterCommandProcessor class to perform "batch" image processing, where one or more commands are executed on one or more images.
Example
Copy Code  
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
Requirements

Target Platforms

See Also

Reference

RasterCommandProcessor Members
Leadtools.ImageProcessing Namespace

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.