次の方法で共有


Matrix.Rotate メソッド

定義

原点に関する指定した角度の時計回りの回転をこの Matrixに適用します。

オーバーロード

Rotate(Single)

この Matrix 原点を中心に、指定した角度で時計回りの回転の前に追加します。

Rotate(Single, MatrixOrder)

この Matrixの原点 (ゼロ x 座標と y 座標) の周囲に、angle パラメーターで指定された量の時計回りの回転を適用します。

Rotate(Single)

ソース:
Matrix.cs
ソース:
Matrix.cs
ソース:
Matrix.cs
ソース:
Matrix.cs
ソース:
Matrix.cs

この Matrix 原点を中心に、指定した角度で時計回りの回転の前に追加します。

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

パラメーター

angle
Single

回転の角度を度単位で指定します。

例については、Rotate(Single, MatrixOrder)を参照してください。

適用対象

Rotate(Single, MatrixOrder)

ソース:
Matrix.cs
ソース:
Matrix.cs
ソース:
Matrix.cs
ソース:
Matrix.cs
ソース:
Matrix.cs

この Matrixの原点 (ゼロ x 座標と y 座標) の周囲に、angle パラメーターで指定された量の時計回りの回転を適用します。

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)

パラメーター

angle
Single

回転の角度 (範囲) を度単位で指定します。

order
MatrixOrder

この Matrixに回転を適用する順序 (追加または先頭) を指定する MatrixOrder

次のコード例は、Windows フォームで使用できるように設計されており、Paint イベント オブジェクトである PaintEventArgseが必要です。 このコードは、次のアクションを実行します。

  • 回転変換 (青い四角形) を適用する前に、画面に四角形を描画します。

  • 行列を作成し、45 度回転させます。

  • このマトリックス変換を四角形に適用します。

  • 変換された四角形 (赤い四角形) を画面に描画します。

赤い四角形が 0、0 の画面座標を中心に回転していることに注意してください。

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

適用対象