Graphics.MultiplyTransform Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| MultiplyTransform(Matrix, MatrixOrder) |
Moltiplica la trasformazione globale di questo Graphics oggetto e l'oggetto Matrix specificato nell'ordine specificato. |
| MultiplyTransform(Matrix) |
Moltiplica la trasformazione globale di questo Graphics oggetto e ha specificato l'oggetto Matrix. |
MultiplyTransform(Matrix, MatrixOrder)
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- 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)
Parametri
- order
- MatrixOrder
Membro dell'enumerazione MatrixOrder che determina l'ordine della moltiplicazione.
Esempio
L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgse, che è un parametro del gestore eventi Paint. Il codice esegue le azioni seguenti:
Crea una
transformMatrixmatrice (due per due matrici di identità più un vettore di conversione zero).Converte la matrice di trasformazione in base a un vettore (200, 100).
Ruota la matrice di trasformazione globale di Windows Form di 30 gradi, anteponendo la matrice di rotazione per 30 gradi alla matrice di trasformazione del modulo.
Moltiplica la matrice di trasformazione globale ruotata in base all'oggetto convertito
transformMatrix, aggiungendo l'oggettotransformMatrixalla matrice di trasformazione globale.Disegna un'ellisse ruotata e tradotta.
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
Commenti
Un valore di Prepend per il order parametro specifica che l'ordine della moltiplicazione è matrix la trasformazione x world. Un valore di Append per order specifica che l'ordine della moltiplicazione è la trasformazione globale x matrix.
Vedi anche
- rappresentazione matrice delle trasformazioni
Si applica a
MultiplyTransform(Matrix)
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- Graphics.cs
- Origine:
- 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)
Parametri
Esempio
L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgse, che è un parametro del gestore eventi Paint. Il codice esegue le azioni seguenti:
Crea una
transformMatrixmatrice (due per due matrici di identità più un vettore di conversione zero).Converte la matrice di trasformazione in base a un vettore (200, 100).
Ruota la matrice di trasformazione globale di Windows Form di 30 gradi, antepone la matrice di rotazione per 30 gradi alla matrice di trasformazione della maschera.
Moltiplica la matrice di trasformazione del mondo ruotata in base all'oggetto tradotto
transformMatrixe antepone allatransformMatrixmatrice di trasformazione globale.Disegna un'ellisse ruotata e tradotta.
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
Commenti
Questo metodo antepone la matrice specificata dal matrix parametro , in modo che il risultato sia matrix x world transformation.
Vedi anche
- rappresentazione matrice delle trasformazioni