Graphics.MultiplyTransform メソッド

定義

この Graphics と指定した Matrix のワールド変換を乗算します。Multiplies the world transformation of this Graphics and specified the Matrix.

オーバーロード

MultiplyTransform(Matrix)

この Graphics と指定した Matrix のワールド変換を乗算します。Multiplies the world transformation of this Graphics and specified the Matrix.

MultiplyTransform(Matrix, MatrixOrder)

この Graphics と指定した Matrix のワールド変換を指定した順序で乗算します。Multiplies the world transformation of this Graphics and specified the Matrix in the specified order.

MultiplyTransform(Matrix)

この Graphics と指定した Matrix のワールド変換を乗算します。Multiplies the world transformation of this Graphics and specified the Matrix.

public:
 void MultiplyTransform(System::Drawing::Drawing2D::Matrix ^ matrix);
public void MultiplyTransform (System.Drawing.Drawing2D.Matrix matrix);
member this.MultiplyTransform : System.Drawing.Drawing2D.Matrix -> unit
Public Sub MultiplyTransform (matrix As Matrix)

パラメーター

matrix
Matrix

ワールド変換を乗算する 4 x 4 Matrix4x4 Matrix that multiplies the world transformation.

次のコード例は、Windows フォームで使用するように設計されてい PaintEventArgs e ます。これは、イベントハンドラーのパラメーターであるを必要とし Paint ます。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:

  • マトリックスを作成し transformMatrix ます (2 つの id 行列とゼロ平行移動ベクター)。Creates a transformMatrix matrix (a two by two identity matrix plus a zero-translation vector).

  • ベクター (200, 100) で変換行列を変換します。Translates the transform matrix by a vector (200, 100).

  • Windows フォームのワールド変換行列を30°回転させ、回転行列の前に30°を変換します。Rotates the world transformation matrix of the Windows Form by 30 degrees, prepends the rotation matrix for 30 degrees to the form's transformation matrix.

  • 回転したワールド変換行列を変換したで乗算し、を transformMatrix transformMatrix ワールド変換行列に付加します。Multiplies the rotated world transformation matrix by the translated transformMatrix, and prepends the transformMatrix to the world transformation matrix.

  • 回転変換された楕円を描画します。Draws a rotated, translated ellipse.

public:
   void MultiplyTransformMatrix( PaintEventArgs^ e )
   {
      // Create transform matrix.
      Matrix^ transformMatrix = gcnew Matrix;

      // Translate matrix, prepending translation vector.
      transformMatrix->Translate( 200.0F, 100.0F );

      // Rotate transformation matrix of graphics object,
      // prepending rotation matrix.
      e->Graphics->RotateTransform( 30.0F );

      // Multiply (prepend to) transformation matrix of
      // graphics object to translate graphics transformation.
      e->Graphics->MultiplyTransform( transformMatrix );

      // Draw rotated, translated ellipse.
      e->Graphics->DrawEllipse( gcnew Pen( Color::Blue,3.0f ), -80, -40, 160, 80 );
   }
private void MultiplyTransformMatrix(PaintEventArgs e)
{

    // Create transform matrix.
    Matrix transformMatrix = new Matrix();

    // Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F);

    // Rotate transformation matrix of graphics object,

    // prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F);

    // Multiply (prepend to) transformation matrix of

    // graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix);

    // Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(new Pen(Color.Blue, 3), -80, -40, 160, 80);
}
Private Sub MultiplyTransformMatrix(ByVal e As PaintEventArgs)

    ' Create transform matrix.
    Dim transformMatrix As New Matrix

    ' Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F)

    ' Rotate transformation matrix of graphics object,

    ' prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F)

    ' Multiply (prepend to) transformation matrix of

    ' graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix)

    ' Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(New Pen(Color.Blue, 3), -80, -40, 160, 80)
End Sub

注釈

このメソッド matrix は、結果が x ワールド変換になるように、パラメーターで指定された行列を前に付加し matrix ます。This method prepends the matrix specified by the matrix parameter, so that the result is matrix x world transformation.

適用対象

MultiplyTransform(Matrix, MatrixOrder)

この Graphics と指定した Matrix のワールド変換を指定した順序で乗算します。Multiplies the world transformation of this Graphics and specified the Matrix in the specified order.

public:
 void MultiplyTransform(System::Drawing::Drawing2D::Matrix ^ matrix, System::Drawing::Drawing2D::MatrixOrder order);
public void MultiplyTransform (System.Drawing.Drawing2D.Matrix matrix, System.Drawing.Drawing2D.MatrixOrder order);
member this.MultiplyTransform : System.Drawing.Drawing2D.Matrix * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub MultiplyTransform (matrix As Matrix, order As MatrixOrder)

パラメーター

matrix
Matrix

ワールド変換を乗算する 4 x 4 Matrix4x4 Matrix that multiplies the world transformation.

order
MatrixOrder

乗算の順序を決定する MatrixOrder 列挙体のメンバー。Member of the MatrixOrder enumeration that determines the order of the multiplication.

次のコード例は、Windows フォームで使用するように設計されてい PaintEventArgs e ます。これは、イベントハンドラーのパラメーターであるを必要とし Paint ます。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:

  • マトリックスを作成し transformMatrix ます (2 つの id 行列とゼロ平行移動ベクター)。Creates a transformMatrix matrix (a two by two identity matrix plus a zero-translation vector).

  • ベクター (200, 100) で変換行列を変換します。Translates the transform matrix by a vector (200, 100).

  • Windows フォームのワールド変換行列を30°回転させます。これにより、回転行列は30°でフォームの変換行列に付加されます。Rotates the world transformation matrix of the Windows Form by 30 degrees, prepending the rotation matrix for 30 degrees to the form's transformation matrix.

  • 回転したワールド変換行列を変換し、 transformMatrix transformMatrix ワールド変換行列にを追加します。Multiplies the rotated world transformation matrix by the translated transformMatrix, appending the transformMatrix to the world transformation matrix.

  • 回転変換された楕円を描画します。Draws a rotated, translated ellipse.

public:
   void MultiplyTransformMatrixOrder( PaintEventArgs^ e )
   {
      // Create transform matrix.
      Matrix^ transformMatrix = gcnew Matrix;

      // Translate matrix, prepending translation vector.
      transformMatrix->Translate( 200.0F, 100.0F );

      // Rotate transformation matrix of graphics object,
      // prepending rotation matrix.
      e->Graphics->RotateTransform( 30.0F );

      // Multiply (append to) transformation matrix of
      // graphics object to translate graphics transformation.
      e->Graphics->MultiplyTransform( transformMatrix, MatrixOrder::Append );

      // Draw rotated, translated ellipse.
      e->Graphics->DrawEllipse( gcnew Pen( Color::Blue,3.0f ), -80, -40, 160, 80 );
   }
private void MultiplyTransformMatrixOrder(PaintEventArgs e)
{

    // Create transform matrix.
    Matrix transformMatrix = new Matrix();

    // Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F);

    // Rotate transformation matrix of graphics object,

    // prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F);

    // Multiply (append to) transformation matrix of

    // graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix, MatrixOrder.Append);

    // Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(new Pen(Color.Blue, 3), -80, -40, 160, 80);
}
Private Sub MultiplyTransformMatrixOrder(ByVal e As PaintEventArgs)

    ' Create transform matrix.
    Dim transformMatrix As New Matrix

    ' Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F)

    ' Rotate transformation matrix of graphics object,

    ' prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F)

    ' Multiply (append to) transformation matrix of

    ' graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix, MatrixOrder.Append)

    ' Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(New Pen(Color.Blue, 3), -80, -40, 160, 80)
End Sub

注釈

パラメーターの値がの場合 Prepend order は、乗算の順序が x ワールド変換であることを指定し matrix ます。A value of Prepend for the order parameter specifies that the order of the multiplication is matrix x world transformation. の値は Appendorder 乗算の順序がワールド変換 x であることを指定し matrix ます。A value of Append for order specifies that the order of the multiplication is world transformation x matrix.

適用対象