Matrix.Rotate Metoda

Definicja

Stosuje obrót w prawo o określony kąt dotyczący pochodzenia Matrix .Applies a clockwise rotation of the specified angle about the origin to this Matrix.

Przeciążenia

Rotate(Single)

Dołącz do tego Matrix obrotu w prawo, wokół źródła i według określonego kąta.Prepend to this Matrix a clockwise rotation, around the origin and by the specified angle.

Rotate(Single, MatrixOrder)

Stosuje obrót w prawo do wartości określonej w angle parametrze wokół źródła (współrzędne zerowe x i y) Matrix .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)

Dołącz do tego Matrix obrotu w prawo, wokół źródła i według określonego kąta.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)

Parametry

angle
Single

Kąt obrotu (w stopniach).The angle of the rotation, in degrees.

Przykłady

Aby zapoznać się z przykładem, zobacz Rotate(Single, MatrixOrder) .For an example, see Rotate(Single, MatrixOrder).

Dotyczy

Rotate(Single, MatrixOrder)

Stosuje obrót w prawo do wartości określonej w angle parametrze wokół źródła (współrzędne zerowe x i y) Matrix .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)

Parametry

angle
Single

Kąt (w zakresie) obrotu (w stopniach).The angle (extent) of the rotation, in degrees.

order
MatrixOrder

A MatrixOrder określa kolejność (dołączanie lub łączenie), do której jest stosowany obrót Matrix .A MatrixOrder that specifies the order (append or prepend) in which the rotation is applied to this Matrix.

Przykłady

Poniższy przykład kodu jest przeznaczony do użytku z Windows Forms i wymaga PaintEventArgs e Paint obiektu zdarzenia.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an Paint event object. Kod wykonuje następujące czynności:The code performs the following actions:

  • Rysuje prostokąt na ekranie przed zastosowaniem transformacji obrotu (niebieskim prostokątem).Draws a rectangle to the screen prior to applying a rotation transform (the blue rectangle).

  • Tworzy macierz i obraca ją o 45 stopni.Creates a matrix and rotates it 45 degrees.

  • Stosuje to przekształcenie macierzy do prostokąta.Applies this matrix transform to the rectangle.

  • Rysuje przekształcony prostokąt do ekranu (czerwony prostokąt).Draws the transformed rectangle to the screen (the red rectangle).

Należy zauważyć, że czerwony prostokąt został obrócony wokół Współrzędne ekranu 0, 0.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

Dotyczy