Leadtools Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
RasterCommand Class
See Also  Members   Example 
Leadtools.ImageProcessing Namespace : RasterCommand Class



The RasterCommand class implements IRasterCommand and is the base class for all LEADTOOLS image processing commands.

Syntax

Visual Basic (Declaration) 
Public MustInherit Class RasterCommand 
   Implements IRasterCommand 
Visual Basic (Usage)Copy Code
Dim instance As RasterCommand
C# 
public abstract class RasterCommand : IRasterCommand  
C++/CLI 
public ref class RasterCommand abstract : public IRasterCommand  

Example

This example runs two image processing commands on an image showing the progress percentage.

Visual BasicCopy Code
Public Sub RasterCommandExample()
 RasterCodecs.Startup()
 Dim codecs As RasterCodecs = New RasterCodecs()

 Dim srcFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"
 Dim rotatedFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_rotated.bmp"
 Dim flippedFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_flipped.bmp"

 ' Load the source image from disk
 Dim image As RasterImage = codecs.Load(srcFileName)

 ' flip the image
 Dim flip As FlipCommand = New FlipCommand(False)
 RunCommand(image, flip)

 ' save the image
 codecs.Save(image, flippedFileName, RasterImageFormat.Bmp, 24)

 ' rotate the image by 45 degrees
 Dim rotate As RotateCommand = New RotateCommand()
 rotate.Angle = 45 * 100
 rotate.FillColor = RasterColor.FromGdiPlusColor(Color.White)
 rotate.Flags = RotateCommandFlags.Resize
 RunCommand(image, rotate)

 ' save the image
 codecs.Save(image, rotatedFileName, RasterImageFormat.Bmp, 24)

 ' clean up
 image.Dispose()
 RasterCodecs.Shutdown()
      End Sub

      Private cancelAt50 As Boolean

      Private Sub RunCommand(ByVal image As RasterImage, ByVal command As IRasterCommand)
 ' subscribe to the progress event of the command
 AddHandler command.Progress, AddressOf command_Progress

 ' if this is a flip command, we want to stop at 50 percent
 cancelAt50 = TypeOf command Is FlipCommand

 ' run the command
 command.Run(image)

 RemoveHandler command.Progress, AddressOf command_Progress
      End Sub

      Private Sub command_Progress(ByVal sender As Object, ByVal e As RasterCommandProgressEventArgs)
 ' show the percentage
 Console.WriteLine(e.Percent)

 ' check if we need to cancel the command at 50%
 If e.Percent = 50 AndAlso cancelAt50 Then
    e.Cancel = True
 End If
      End Sub
C#Copy Code
public void RasterCommandExample() 

   RasterCodecs.Startup(); 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Image1.cmp"; 
   string rotatedFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_rotated.bmp"; 
   string flippedFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Image1_flipped.bmp"; 
 
   // Load the source image from disk 
   RasterImage image = codecs.Load(srcFileName); 
 
   // flip the image 
   FlipCommand flip = new FlipCommand(false); 
   RunCommand(image, flip); 
 
   // save the image 
   codecs.Save(image, flippedFileName, RasterImageFormat.Bmp, 24); 
 
   // rotate the image by 45 degrees 
   RotateCommand rotate = new RotateCommand(); 
   rotate.Angle = 45 * 100; 
   rotate.FillColor = RasterColor.FromGdiPlusColor(Color.White); 
   rotate.Flags = RotateCommandFlags.Resize; 
   RunCommand(image, rotate); 
 
   // save the image 
   codecs.Save(image, rotatedFileName, RasterImageFormat.Bmp, 24); 
 
   // clean up 
   image.Dispose(); 
   RasterCodecs.Shutdown(); 

 
bool cancelAt50; 
 
void RunCommand(RasterImage image, IRasterCommand command) 

   // subscribe to the progress event of the command 
   command.Progress += new EventHandler<RasterCommandProgressEventArgs>(command_Progress); 
 
   // if this is a flip command, we want to stop at 50 percent 
   cancelAt50 = command is FlipCommand; 
 
   // run the command 
   command.Run(image); 
 
   command.Progress -= new EventHandler<RasterCommandProgressEventArgs>(command_Progress); 

 
void command_Progress(object sender, RasterCommandProgressEventArgs e) 

   // show the percentage 
   Console.WriteLine(e.Percent); 
 
   // check if we need to cancel the command at 50% 
   if(e.Percent == 50 && cancelAt50) 
      e.Cancel = true; 
}

Remarks

The RasterCommand class is the base class for all LEADTOOLS image processing commands.

This class contains functionality for dealing with running an image processing command, including progress status of the command.

Inheritance Hierarchy

Requirements

Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family

See Also