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

전역 변환을 곱하는 4x4 Matrix입니다.4x4 Matrix that multiplies the world transformation.

예제

다음 코드 예제는 Windows Forms에서 사용 하도록 설계 되었으며 필요 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 행렬 (두 두 항등 매트릭스와 0 변환 벡터)입니다.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 Form의 월드 변형 매트릭스 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

전역 변환을 곱하는 4x4 Matrix입니다.4x4 Matrix that multiplies the world transformation.

order
MatrixOrder MatrixOrder MatrixOrder

곱하기의 순서를 결정하는 MatrixOrder 열거형의 멤버입니다.Member of the MatrixOrder enumeration that determines the order of the multiplication.

예제

다음 코드 예제는 Windows Forms에서 사용 하도록 설계 되었으며 필요 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 행렬 (두 두 항등 매트릭스와 0 변환 벡터)입니다.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).

  • 폼의 변형 매트릭스를 30도 회전 매트릭스를 앞으로 30도, Windows Form의 월드 변형 매트릭스를 회전 합니다.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 곱하기의 순서는 매개 변수 지정 matrix 월드 변형을 x입니다.A value of Prepend for the order parameter specifies that the order of the multiplication is matrix x world transformation. 값이 Append 에 대 한 order 곱하기의 순서는 월드 변형을 x 지정 matrix합니다.A value of Append for order specifies that the order of the multiplication is world transformation x matrix.

추가 정보

적용 대상