LEADTOOLS (Leadtools assembly)
LEAD Technologies, Inc

RotateCommand Class

Example 





Members 
Rotates an image by the number of degrees specified. .NET support Silverlight support WinRT support
Object Model
RotateCommand ClassRasterColor Structure
Syntax
public class RotateCommand : RasterCommand, IRasterCommand  
'Declaration
 
Public Class RotateCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
'Usage
 
Dim instance As RotateCommand
public sealed class RotateCommand : IRasterCommand  
function Leadtools.ImageProcessing.RotateCommand()
public ref class RotateCommand : public RasterCommand, IRasterCommand  
Remarks

This command has the following features:

RotateCommandFlags.Resample and RotateCommandFlags.Bicubic can be combined with RotateCommandFlags.Resize, but they can not be combined with each other.

If RotateCommandFlags.Resize is set, then the image is resized. Otherwise, the image is cropped.

Interpolation can be done while rotating certain images. This produces superior output, eliminating the jaggedness occurring when rotating images at angles that are not multiples of 90. (ie when RotateCommand.Angle is not a multiple of 9000).

The only images that are interpolated are:

For all other images, RotateCommand ignores the resampling flags and the rotate is performed without interpolation.

For more information, refer to Processing an Image.

Example
 
Public Sub RotateCommandExample()
      Dim codecs As RasterCodecs = New RasterCodecs()

      Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
      Dim destFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "RotateCommand.bmp")

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

      ' Rotate the image by 45 degrees
      Dim command As RotateCommand = New RotateCommand()
      command.Angle = 45 * 100
      command.FillColor = New RasterColor(255, 255, 255)
      command.Flags = RotateCommandFlags.Bicubic
      command.Run(image)

      ' Save it to disk
      codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24)

      ' Clean Up
      image.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void RotateCommandExample()
   {
      RasterCodecs codecs = new RasterCodecs();

      string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");
      string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "RotateCommand.bmp");

      // Load the source image from disk
      RasterImage image = codecs.Load(srcFileName);

      // Rotate the image by 45 degrees
      RotateCommand command = new RotateCommand();
      command.Angle = 45 * 100;
      command.FillColor = new RasterColor(255, 255, 255);
      command.Flags = RotateCommandFlags.Bicubic;
      command.Run(image);

      // Save it to disk
      codecs.Save(image, destFileName, RasterImageFormat.Bmp, 24);

      // Clean Up
      image.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
RasterCommandExamples.prototype.RotateCommandExample = function ( ) 
{
    Tools.SetLicense ( ) ;
    with ( Leadtools ) { with ( Leadtools.Codecs ) { with ( Leadtools.ImageProcessing ) {
        var codecs = new RasterCodecs();

        var srcFileName = "Assets\\Image1.cmp";
        var destFileName = "RotateCommand.bmp";
        var image ;
        // Load the source image from disk
        return Tools.AppInstallFolder().getFileAsync(srcFileName)
        .then ( function ( loadFile ) {
            return codecs.loadAsync(LeadStreamFactory.create(loadFile))})
        .then ( function ( img ) {
            image = img ;

            // Rotate the image by 45 degrees
            var command = new RotateCommand();
            command.angle = 45 * 100;
            command.fillColor = RasterColorHelper.create(255, 255, 255);
            command.flags = RotateCommandFlags.bicubic;
            command.run(image);

            // Save it to disk
            return Tools.AppLocalFolder().createFileAsync(destFileName)})
        .then ( function ( saveFile ) {
            return codecs.saveAsync(image, LeadStreamFactory.create(saveFile), RasterImageFormat.bmp, 24)})
        .then ( function ( ) {
            // Clean Up
            image.close();
            codecs.close ( ) ;
        });
    }
    }
    }
}
[TestMethod]
public async Task RotateCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName = @"RotateCommand.bmp";

   // Load the source image from disk
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // Rotate the image by 45 degrees
   RotateCommand command = new RotateCommand();
   command.Angle = 45 * 100;
   command.FillColor = RasterColorHelper.Create(255, 255, 255);
   command.Flags = RotateCommandFlags.Bicubic;
   command.Run(image);

   // Save it to disk
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24);

   // Clean Up
   image.Dispose();
}
public void RotateCommandExample(RasterImage image, Stream destStream)
{
   RasterCodecs codecs = new RasterCodecs();
   // Rotate the image by 45 degrees
   RotateCommand command = new RotateCommand();
   command.Angle = 45 * 100;
   command.FillColor = new RasterColor(255, 255, 255);
   command.Flags = RotateCommandFlags.Bicubic;
   command.Run(image);

   // Save it to disk
   codecs.Save(image, destStream, RasterImageFormat.Bmp, 24);

   // Clean Up
   image.Dispose();
}
Public Sub RotateCommandExample(ByVal image As RasterImage, ByVal destStream As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' Rotate the image by 45 degrees
   Dim command As RotateCommand = New RotateCommand()
   command.Angle = 45 * 100
   command.FillColor = New RasterColor(255, 255, 255)
   command.Flags = RotateCommandFlags.Bicubic
   command.Run(image)

   ' Save it to disk
   codecs.Save(image, destStream, RasterImageFormat.Bmp, 24)

   ' Clean Up
   image.Dispose()
End Sub
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

RotateCommand Members
Leadtools.ImageProcessing Namespace

 

 


Products | Support | Contact Us | Copyright Notices

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