Declaration
procedure Rotate(Angle: double; AntialiasMode: TIEAntialiasMode = ierFast; BackgroundColor: TColor = clWhite);
Description
Rotates the current image by the specified angle (negative or positive degrees counter-clockwise).
AntialiasMode specifies the anti-aliasing algorithm that is used to improve rotation quality (only used when angle is NOT 90, 180 or 270):
Value | Description |
ierNone | No anti-aliasing (lowest quality) |
ierFast | Fast, but lower quality |
ierBilinear | Bilinear, high quality |
ierBicubic | Bicubic, highest quality |
BackgroundColor specifies a background color
BackgroundColor specifies a background color to fill new regions (i.e. when not rotating at a 90 degree angle). It is not used if the image contains an alpha channel.
If clNone, then an
alpha channel is applied to the image and the non-image area will become transparent.
Note:
◼If the image has an
alpha channel then the null area is filled with transparency (so you will not see the background color). To prevent the transparent area, and force a background color fill,
remove the alpha channel◼To crop the image caused by rotation, use
RotateAndCrop◼To crop and rotate an ROI, use
Crop◼For other image editing functions, you can use
Proc | Demos\InputOutput\BatchConvert\BatchConvert.dpr |
Anti-alias Modes
// Rotate the image 45° clockwise at highest quality with a white background color
ABitmap.Rotate( 315, ierBicubic, clWhite );
// Rotate the image right (90° clockwise)
// Note: AntialiasMode is irrelevant for 90 deg. rotates
ABitmap.Rotate( 270 );
// Rotate the image 180° clockwise
ABitmap.Rotate( 180 );
// Rotate the image left (90° counter-clockwise)
ABitmap.Rotate( 90 );
// Rotate the image 45° clockwise at highest quality and make the non-image area transparent
ImageEnView1.Proc.Rotate( 315, ierBicubic, clNone );
// Which is the same as...
// Rotate the image 45° clockwise, with good quality, and the null area created by the rotation set as transparent
ABitmap.AlphaChannel; // Create an alpha channel if one does not exist
ABitmap.Rotate( -45, ierBicubic );
// Rotate the image 45° clockwise, with good quality, and the null area created by the rotation set as black
ABitmap.RemoveAlphaChannel; // Remove alpha channel if there is one
ABitmap.Rotate( -45, ierBicubic, clBlack );
See Also
◼Global Image Methods◼AngleToImageEnRotateAngle◼Proc