Pen.RotateTransform Method (Single, MatrixOrder)


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

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public void RotateTransform(
	float angle,
	MatrixOrder order


Type: System.Single

The angle of rotation.

Type: System.Drawing.Drawing2D.MatrixOrder

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

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.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, 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 = 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);

.NET Framework
Available since 1.1
Return to top