# Pen.RotateTransform Method

## Definition

Rotates the local geometric transformation by the specified angle. This method prepends the rotation to the transformation.

 Rotates the local geometric transformation by the specified angle in the specified order. Rotates the local geometric transformation by the specified angle. This method prepends the rotation to the transformation.

## RotateTransform(Single, MatrixOrder)

Rotates the local geometric transformation by the specified angle in the specified order.

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

#### Parameters

angle
Single

The angle of rotation.

order
MatrixOrder

A MatrixOrder that specifies whether to append or prepend the rotation matrix.

### Examples

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs`e`, which is a parameter of the Paint event handler. The code performs the following actions:

• Creates a Pen.

• Scales the pen by 2 times in the x-axis direction.

• Draws a rectangle using the pen.

• Rotates the pen 90 degrees clockwise.

• Draws a second rectangle to demonstrate the difference.

``````public:
void RotateTransform_Example2( PaintEventArgs^ e )
{

// Create a Pen object.
Pen^ rotatePen = gcnew Pen( Color::Black,5.0f );

// Scale rotatePen by 2X in the x-direction.
rotatePen->ScaleTransform( 2, 1 );

// Draw a rectangle with rotatePen.
e->Graphics->DrawRectangle( rotatePen, 10, 10, 100, 100 );

// Rotate rotatePen 90 degrees clockwise.
rotatePen->RotateTransform( 90, MatrixOrder::Append );

// Draw a second rectangle with rotatePen.
e->Graphics->DrawRectangle( rotatePen, 120, 10, 100, 100 );
}
``````
``````public void RotateTransform_Example2(PaintEventArgs e)
{

// Create a Pen object.
Pen rotatePen = new Pen(Color.Black, 5);

// Scale rotatePen by 2X in the x-direction.
rotatePen.ScaleTransform(2, 1);

// Draw a rectangle with rotatePen.
e.Graphics.DrawRectangle(rotatePen, 10, 10, 100, 100);

// Rotate rotatePen 90 degrees clockwise.
rotatePen.RotateTransform(90, MatrixOrder.Append);

// Draw a second rectangle with rotatePen.
e.Graphics.DrawRectangle(rotatePen, 120, 10, 100, 100);
}
``````
``````Public Sub RotateTransform_Example2(ByVal e As PaintEventArgs)

' Create a Pen object.
Dim rotatePen As New Pen(Color.Black, 5)

' Scale rotatePen by 2X in the x-direction.
rotatePen.ScaleTransform(2, 1)

' Draw a rectangle with rotatePen.
e.Graphics.DrawRectangle(rotatePen, 10, 10, 100, 100)

' Rotate rotatePen 90 degrees clockwise.
rotatePen.RotateTransform(90, MatrixOrder.Append)

' Draw a second rectangle with rotatePen.
e.Graphics.DrawRectangle(rotatePen, 120, 10, 100, 100)
End Sub
``````

### Remarks

Because the shape of a pen is circular, a rotation does not have any visible effect unless the pen is scaled in the x- or y-axis direction.

## RotateTransform(Single)

Rotates the local geometric transformation by the specified angle. This method prepends the rotation to the transformation.

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

#### Parameters

angle
Single

The angle of rotation.

### Examples

The following code example is designed for use with Windows Forms, and it requires PaintEventArgs`e`, which is a parameter of the Paint event handler. The code performs the following actions:

• Creates a Pen.

• Draws a rectangle using the pen.

• Scales the pen by 2 times in the x-axis direction.

• Rotates the pen 90 degrees clockwise.

• Draws a second rectangle to demonstrate the difference.

``````public:
void RotateTransform_Example1( PaintEventArgs^ e )
{

// Create a Pen object.
Pen^ rotatePen = gcnew Pen( Color::Black,5.0f );

// Draw a rectangle with rotatePen.
e->Graphics->DrawRectangle( rotatePen, 10, 10, 100, 100 );

// Scale rotatePen by 2X in the x-direction.
rotatePen->ScaleTransform( 2, 1 );

// Rotate rotatePen 90 degrees clockwise.
rotatePen->RotateTransform( 90 );

// Draw a second rectangle with rotatePen.
e->Graphics->DrawRectangle( rotatePen, 140, 10, 100, 100 );
}
``````
``````public void RotateTransform_Example1(PaintEventArgs e)
{

// Create a Pen object.
Pen rotatePen = new Pen(Color.Black, 5);

// Draw a rectangle with rotatePen.
e.Graphics.DrawRectangle(rotatePen, 10, 10, 100, 100);

// Scale rotatePen by 2X in the x-direction.
rotatePen.ScaleTransform(2, 1);

// Rotate rotatePen 90 degrees clockwise.
rotatePen.RotateTransform(90);

// Draw a second rectangle with rotatePen.
e.Graphics.DrawRectangle(rotatePen, 140, 10, 100, 100);
}
``````
``````Public Sub RotateTransform_Example1(ByVal e As PaintEventArgs)

' Create a Pen object.
Dim rotatePen As New Pen(Color.Black, 5)

' Draw a rectangle with rotatePen.
e.Graphics.DrawRectangle(rotatePen, 10, 10, 100, 100)

' Scale rotatePen by 2X in the x-direction.
rotatePen.ScaleTransform(2, 1)

' Rotate rotatePen 90 degrees clockwise.
rotatePen.RotateTransform(90)

' Draw a second rectangle with rotatePen.
e.Graphics.DrawRectangle(rotatePen, 140, 10, 100, 100)
End Sub
``````

### Remarks

Because the shape of a pen is circular, a rotation does not have any visible effect unless the pen is scaled in the x- or y-axis direction.