←Select platform

RotateCommand Class

Summary

Rotates an image by the number of degrees specified.

Syntax
C#
VB
Java
Objective-C
C++
public class RotateCommand : RasterCommand 
Public Class RotateCommand  
   Inherits RasterCommand 
@interface LTRotateCommand : LTRasterCommand 
public class RotateCommand extends RasterCommand 
public ref class RotateCommand : public RasterCommand   

Remarks

This command has the following features:

  • It uses the center of the image as the center of rotation.
  • It can rotate the image clockwise or counterclockwise up to 360 degrees in 100th-degree increments.
  • It can resize the image to accommodate the rotated height and width, or it can retain the original height and width, cropping the image as necessary.
  • It uses FillColor as the background color to fill any new area created by the rotation.

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

This example will load an image, rotate it by 45 degrees and then save it back to disk

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using LeadtoolsExamples.Common; 
 
public void RotateCommandExample() 
{ 
   RasterCodecs codecs = new RasterCodecs(); 
 
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp"); 
   string destFileName = Path.Combine(ImagesPath.Path, "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(); 
   codecs.Dispose(); 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
 
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 
c#[Silverlight C# Example] 
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Examples; 
using Leadtools.ImageProcessing; 
using Leadtools.Windows.Media; 
 
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(); 
} 
vb[Silverlight VB Example] 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.ImageProcessing 
Imports Leadtools.Windows.Media 
 
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

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

Leadtools Assembly