# Matrix.Rotate Method

## Definition

Important

Some information relates to prerelease product that may be substantially modified before itâ€™s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

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

## Overloads

Rotate(Single) |
Prepend to this Matrix a clockwise rotation, around the origin and by the specified angle. |

Rotate(Single, MatrixOrder) |
Applies a clockwise rotation of an amount specified in the |

## Rotate(Single)

- Source:
- Matrix.cs

- Source:
- Matrix.cs

- Source:
- Matrix.cs

- Source:
- Matrix.cs

- Source:
- Matrix.cs

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

The angle of the rotation, in degrees.

### Examples

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

### Applies to

## Rotate(Single, MatrixOrder)

- Source:
- Matrix.cs

- Source:
- Matrix.cs

- Source:
- Matrix.cs

- Source:
- Matrix.cs

- Source:
- Matrix.cs

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

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

- order
- 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
```

### Applies to

## Feedback

https://aka.ms/ContentUserFeedback.

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for