←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; 
 
 
public void RasterCommandExample() 
{ 
	RasterCodecs codecs = new RasterCodecs(); 
 
	string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp"); 
	string rotatedFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_rotated.bmp"); 
	string flippedFileName = Path.Combine(LEAD_VARS.ImagesDir, "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; 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
} 
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:\LEADTOOLS21\Resources\Images" 
End Class 
Requirements

Target Platforms

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

Leadtools Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.