# Matrix.RotateMatrix.RotateMatrix.RotateMatrix.Rotate Method

## Definition

Applies a clockwise rotation of the specified angle about the origin to this Matrix.

 Rotate(Single) Rotate(Single) Rotate(Single) Rotate(Single) Prepend to this Matrix a clockwise rotation, around the origin and by the specified angle. Rotate(Single, MatrixOrder) Rotate(Single, MatrixOrder) Rotate(Single, MatrixOrder) Rotate(Single, MatrixOrder) Applies a clockwise rotation of an amount specified in the `angle` parameter, around the origin (zero x and y coordinates) for this Matrix.

## Rotate(Single)Rotate(Single)Rotate(Single)Rotate(Single)

Prepend to this Matrix a clockwise rotation, around the origin and by the specified angle.

``````public:
void Rotate(float angle);``````
``public void Rotate (float angle);``
``member this.Rotate : single -> unit``
``Public Sub Rotate (angle As Single)``

#### Parameters

angle
Single Single Single Single

The angle of the rotation, in degrees.

### Examples

For an example, see Rotate(Single, MatrixOrder).

## Rotate(Single, MatrixOrder)Rotate(Single, MatrixOrder)Rotate(Single, MatrixOrder)Rotate(Single, MatrixOrder)

Applies a clockwise rotation of an amount specified in the `angle` parameter, around the origin (zero x and y coordinates) for this Matrix.

``````public:
void Rotate(float angle, System::Drawing::Drawing2D::MatrixOrder order);``````
``public void Rotate (float angle, System.Drawing.Drawing2D.MatrixOrder order);``
``member this.Rotate : single * System.Drawing.Drawing2D.MatrixOrder -> unit``
``Public Sub Rotate (angle As Single, order As MatrixOrder)``

#### Parameters

angle
Single Single Single Single

The angle (extent) of the rotation, in degrees.

order
MatrixOrder MatrixOrder MatrixOrder MatrixOrder

A MatrixOrder that specifies the order (append or prepend) in which the rotation is applied to this Matrix.

### Examples

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs`e`, an Paint event object. The code performs the following actions:

• Draws a rectangle to the screen prior to applying a rotation transform (the blue rectangle).

• Creates a matrix and rotates it 45 degrees.

• Applies this matrix transform to the rectangle.

• Draws the transformed rectangle to the screen (the red rectangle).

Notice that the red rectangle has been rotated around the 0, 0 screen coordinates.

``````public:
void RotateExample( PaintEventArgs^ e )
{
Pen^ myPen = gcnew Pen( Color::Blue,1.0f );
Pen^ myPen2 = gcnew Pen( Color::Red,1.0f );

// Draw the rectangle to the screen before applying the transform.
e->Graphics->DrawRectangle( myPen, 150, 50, 200, 100 );

// Create a matrix and rotate it 45 degrees.
Matrix^ myMatrix = gcnew Matrix;
myMatrix->Rotate( 45, MatrixOrder::Append );

// Draw the rectangle to the screen again after applying the
// transform.
e->Graphics->Transform = myMatrix;
e->Graphics->DrawRectangle( myPen2, 150, 50, 200, 100 );
}
``````
``````public void RotateExample(PaintEventArgs e)
{
Pen myPen = new Pen(Color.Blue, 1);
Pen myPen2 = new Pen(Color.Red, 1);

// Draw the rectangle to the screen before applying the transform.
e.Graphics.DrawRectangle(myPen, 150, 50, 200, 100);

// Create a matrix and rotate it 45 degrees.
Matrix myMatrix = new Matrix();
myMatrix.Rotate(45, MatrixOrder.Append);

// Draw the rectangle to the screen again after applying the

// transform.
e.Graphics.Transform = myMatrix;
e.Graphics.DrawRectangle(myPen2, 150, 50, 200, 100);
}
``````
``````Public Sub RotateExample(ByVal e As PaintEventArgs)
Dim myPen As New Pen(Color.Blue, 1)
Dim myPen2 As New Pen(Color.Red, 1)

' Draw the rectangle to the screen before applying the transform.
e.Graphics.DrawRectangle(myPen, 150, 50, 200, 100)

' Create a matrix and rotate it 45 degrees.
Dim myMatrix As New Matrix
myMatrix.Rotate(45, MatrixOrder.Append)

' Draw the rectangle to the screen again after applying the
' transform.
e.Graphics.Transform = myMatrix
e.Graphics.DrawRectangle(myPen2, 150, 50, 200, 100)
End Sub
``````