Graphics.MultiplyTransform Methode

Definition

Multipliziert die globale Transformation für dieses Graphics und die angegebene Matrix.

Überlädt

MultiplyTransform(Matrix)

Multipliziert die globale Transformation für dieses Graphics und die angegebene Matrix.

MultiplyTransform(Matrix, MatrixOrder)

Multipliziert die globale Transformation dieses Graphics und die angegebene Matrix in der angegebenen Reihenfolge.

MultiplyTransform(Matrix)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Multipliziert die globale Transformation für dieses Graphics und die angegebene 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)

Parameter

matrix
Matrix

4x4 Matrix, die die globale Transformation multipliziert.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine transformMatrix Matrix (eine Zwei-mal-Zwei-Identitätsmatrix plus einen Nullübersetzungsvektor).

  • Übersetzt die Transformationsmatrix durch einen Vektor (200, 100).

  • Rotiert die Welttransformationsmatrix des Windows Form um 30 Grad und stellt die Drehungsmatrix der Transformationsmatrix des Formulars um 30 Grad voran.

  • Multipliziert die gedrehte Welttransformationsmatrix mit der übersetzten transformMatrixund stellt die transformMatrix der Welttransformationsmatrix voran.

  • Zeichnet eine gedrehte, übersetzte 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

Hinweise

Mit dieser Methode wird die vom matrix -Parameter angegebene Matrix vorangestellt, sodass das Ergebnis eine x-Welttransformation ist matrix .

Weitere Informationen

Gilt für:

MultiplyTransform(Matrix, MatrixOrder)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Multipliziert die globale Transformation dieses Graphics und die angegebene Matrix in der angegebenen Reihenfolge.

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)

Parameter

matrix
Matrix

4x4 Matrix, die die globale Transformation multipliziert.

order
MatrixOrder

Member der MatrixOrder-Enumeration, der die Reihenfolge der Multiplikation bestimmt.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine transformMatrix Matrix (eine Zwei-mal-Zwei-Identitätsmatrix plus einen Nullübersetzungsvektor).

  • Übersetzt die Transformationsmatrix durch einen Vektor (200, 100).

  • Rotiert die Welttransformationsmatrix von Windows Form um 30 Grad, wobei die Drehungsmatrix um 30 Grad der Transformationsmatrix des Formulars vorangestellt wird.

  • Multipliziert die gedrehte Welttransformationsmatrix mit der übersetzten transformMatrix, wobei an transformMatrix die Welttransformationsmatrix angefügt wird.

  • Zeichnet eine gedrehte, übersetzte 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

Hinweise

Der Wert für Prepend den order -Parameter gibt an, dass die Reihenfolge der Multiplikation x world transformation ist matrix . Der Wert für Appendorder gibt an, dass die Reihenfolge der Multiplikation welttransformation x matrixist.

Weitere Informationen

Gilt für: