Graphics.MultiplyTransform Graphics.MultiplyTransform Graphics.MultiplyTransform Method

定義

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

オーバーロード

MultiplyTransform(Matrix) MultiplyTransform(Matrix) MultiplyTransform(Matrix)

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

MultiplyTransform(Matrix, MatrixOrder) MultiplyTransform(Matrix, MatrixOrder) MultiplyTransform(Matrix, MatrixOrder)

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

MultiplyTransform(Matrix) MultiplyTransform(Matrix) 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

パラメーター

matrix
Matrix Matrix Matrix

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

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。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 matrix x ワールド変換になるように、パラメーターで指定された行列を前に付加します。This method prepends the matrix specified by the matrix parameter, so that the result is matrix x world transformation.

こちらもご覧ください

MultiplyTransform(Matrix, MatrixOrder) MultiplyTransform(Matrix, MatrixOrder) 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

パラメーター

matrix
Matrix Matrix Matrix

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

order
MatrixOrder MatrixOrder MatrixOrder

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

次のコード例は、Windows フォームで使用するように設計さPaintEventArgsれています。これはPaint 、イベントハンドラーのパラメーターであるを必要eとします。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がのmatrix場合は、乗算の順序が x ワールド変換であることを指定します。 orderA value of Prepend for the order parameter specifies that the order of the multiplication is matrix x world transformation. の値Append matrixは、乗算の順序がワールド変換 x であることを指定します。orderA value of Append for order specifies that the order of the multiplication is world transformation x matrix.

こちらもご覧ください

適用対象