The
RasterCommand class implements
IRasterCommand and is the base class for all LEADTOOLS image processing commands.
Supported in Silverlight, Windows Phone 7
Object Model
Syntax
Visual Basic (Declaration) | |
---|
Public MustInherit Class RasterCommand
Implements 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 Basic | Copy Code |
---|
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 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
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class |
C# | Copy Code |
---|
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();
}
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;
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
} |
SilverlightCSharp | Copy Code |
---|
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;
} |
SilverlightVB | Copy Code |
---|
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 |
Remarks
Inheritance Hierarchy
Requirements
Target Platforms: Silverlight, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7, MAC OS/X (Intel Only), Windows Phone 7
See Also