Graphics.MultiplyTransform Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
MultiplyTransform(Matrix, MatrixOrder) |
Multipliziert die Welttransformation dieser Graphics und gibt die Matrix in der angegebenen Reihenfolge an. |
MultiplyTransform(Matrix) |
Multipliziert die Welttransformation dieser Graphics und gibt die Matrixan. |
MultiplyTransform(Matrix, MatrixOrder)
- Quelle:
- Graphics.cs
- Quelle:
- Graphics.cs
- Quelle:
- Graphics.cs
- Quelle:
- Graphics.cs
- Quelle:
- Graphics.cs
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
- order
- MatrixOrder
Mitglied der MatrixOrder-Aufzählung, die die Reihenfolge der Multiplikation bestimmt.
Beispiele
Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse
, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:
Erstellt eine
transformMatrix
Matrix (zwei durch zwei Identitätsmatrix und einen Nullübersetzungsvektor).Übersetzt die Transformationsmatrix durch einen Vektor (200, 100).
Dreht die Welttransformationsmatrix von Windows Form um 30 Grad, bevor die Drehungsmatrix 30 Grad auf die Transformationsmatrix des Formulars aussteht.
Multipliziert die gedrehte Welttransformationsmatrix durch die übersetzte
transformMatrix
, wobei dietransformMatrix
an 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
Ein Wert von Prepend für den parameter order
gibt an, dass die Reihenfolge der Multiplikation matrix
x Welttransformation ist. Ein Wert von Append für order
gibt an, dass die Reihenfolge der Multiplikation die Welttransformation x matrix
ist.
Weitere Informationen
Gilt für:
MultiplyTransform(Matrix)
- Quelle:
- Graphics.cs
- Quelle:
- Graphics.cs
- Quelle:
- Graphics.cs
- Quelle:
- Graphics.cs
- Quelle:
- Graphics.cs
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
Beispiele
Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse
, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:
Erstellt eine
transformMatrix
Matrix (zwei durch zwei Identitätsmatrix und einen Nullübersetzungsvektor).Übersetzt die Transformationsmatrix durch einen Vektor (200, 100).
Dreht die Welttransformationsmatrix von Windows Form um 30 Grad, stellt die Drehungsmatrix um 30 Grad zur Transformationsmatrix des Formulars vor.
Multipliziert die gedrehte Welttransformationsmatrix durch die übersetzte
transformMatrix
und stellt dietransformMatrix
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 durch den parameter matrix
angegebene Matrix vorangestellt, sodass das Ergebnis matrix
x Welttransformation ist.