←Select platform

RasterCommand Class

Summary

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

Syntax
C#
VB
Objective-C
C++
Java
public abstract class RasterCommand  
Public MustInherit Class RasterCommand  
@interface LTRasterCommand : NSObject 
public abstract class RasterCommand  
public ref class RasterCommand abstract    

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.

Example

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

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using LeadtoolsExamples.Common; 
 
public void RasterCommandExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 
   string rotatedFileName = Path.Combine(ImagesPath.Path, "Image1_rotated.bmp"); 
   string flippedFileName = Path.Combine(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.FromKnownColor(RasterKnownColor.White); 
   rotate.Flags = RotateCommandFlags.Resize; 
   RunCommand(image, rotate); 
 
   // save the image 
   codecs.Save(image, rotatedFileName, RasterImageFormat.Bmp, 24); 
 
   // clean up 
   image.Dispose(); 
   codecs.Dispose(); 
} 
 
bool cancelAt50; 
 
void RunCommand(RasterImage image, RasterCommand 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; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
 
Public Sub RasterCommandExample() 
   Dim codecs As RasterCodecs = New RasterCodecs() 
 
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp") 
   Dim rotatedFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_rotated.bmp") 
   Dim flippedFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "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.FromKnownColor(RasterKnownColor.White) 
   rotate.Flags = RotateCommandFlags.Resize 
   RunCommand(image, rotate) 
 
   ' save the image 
   codecs.Save(image, rotatedFileName, RasterImageFormat.Bmp, 24) 
 
   ' clean up 
   image.Dispose() 
End Sub 
 
Private cancelAt50 As Boolean 
 
Private Sub RunCommand(ByVal image As RasterImage, ByVal command As RasterCommand) 
   ' 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 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Examples; 
using Leadtools.ImageProcessing; 
using Leadtools.Windows.Media; 
 
public void RasterCommandExample(RasterImage image, Stream flippedStream, Stream rotatedStream) 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   // flip the image 
   FlipCommand flip = new FlipCommand(false); 
   RunCommand(image, flip); 
 
   // save the image 
   codecs.Save(image, flippedStream, RasterImageFormat.Png, 24); 
 
   // rotate the image by 45 degrees 
   RotateCommand rotate = new RotateCommand(); 
   rotate.Angle = 45 * 100; 
   rotate.FillColor = RasterColorConverter.FromColor(Colors.White); 
   rotate.Flags = RotateCommandFlags.Resize; 
   RunCommand(image, rotate); 
 
   // save the image 
   codecs.Save(image, rotatedStream, RasterImageFormat.Png, 24); 
 
   // clean up 
   image.Dispose(); 
} 
 
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 
   Debug.WriteLine(e.Percent); 
 
   // check if we need to cancel the command at 50% 
   if (e.Percent == 50 && cancelAt50) 
      e.Cancel = true; 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.Windows.Media 
 
Public Sub RasterCommandExample(ByVal image As RasterImage, ByVal flippedStream As Stream, ByVal rotatedStream As Stream) 
   Dim codecs As RasterCodecs = New RasterCodecs() 
 
   ' flip the image 
   Dim flip As FlipCommand = New FlipCommand(False) 
   RunCommand(image, flip) 
 
   ' save the image 
   codecs.Save(image, flippedStream, RasterImageFormat.Png, 24) 
 
   ' rotate the image by 45 degrees 
   Dim rotate As RotateCommand = New RotateCommand() 
   rotate.Angle = 45 * 100 
   rotate.FillColor = RasterColorConverter.FromColor(Colors.White) 
   rotate.Flags = RotateCommandFlags.Resize 
   RunCommand(image, rotate) 
 
   ' save the image 
   codecs.Save(image, rotatedStream, RasterImageFormat.Png, 24) 
 
   ' clean up 
   image.Dispose() 
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 
   Debug.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 

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly