Matrix.Rotate Methode

Definitie

Hiermee past u een klokgewijze draaiing van de opgegeven hoek over de oorsprong toe Matrix.

Overloads

Name Description
Rotate(Single)

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

Rotate(Single, MatrixOrder)

Hiermee past u een rechtsomdraaiing toe van een bedrag dat is opgegeven in de angle parameter, rond de oorsprong (nul x- en y-coördinaten) voor dit Matrix.

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

De hoek van de draaiing, in graden.

Voorbeelden

Zie Rotate(Single, MatrixOrder)voor een voorbeeld.

Van toepassing op

Rotate(Single, MatrixOrder)

Hiermee past u een rechtsomdraaiing toe van een bedrag dat is opgegeven in de angle parameter, rond de oorsprong (nul x- en y-coördinaten) voor dit 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

De hoek (omvang) van de draaiing, in graden.

order
MatrixOrder

Een MatrixOrder die de volgorde aangeeft (toevoegen of voorbereiden) waarin de draaiing hierop wordt toegepast Matrix.

Voorbeelden

Het volgende codevoorbeeld is ontworpen voor gebruik met Windows Forms en vereist PaintEventArgse, een Paint-gebeurtenisobject. De code voert de volgende acties uit:

  • Hiermee tekent u een rechthoek op het scherm voordat u een rotatietransformatie (de blauwe rechthoek) toepast.

  • Hiermee maakt u een matrix en draait u deze 45 graden.

  • Hiermee past u deze matrixtransformatie toe op de rechthoek.

  • Hiermee tekent u de getransformeerde rechthoek naar het scherm (de rode rechthoek).

U ziet dat de rode rechthoek is gedraaid rond de 0, 0 schermcoördinaten.

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

Van toepassing op