Graphics.MultiplyTransform Metodo

Definizione

Moltiplica la trasformazione globale di questo oggetto Graphics e specifica l'oggetto Matrix.

Overload

MultiplyTransform(Matrix)

Moltiplica la trasformazione globale di questo oggetto Graphics e specifica l'oggetto Matrix.

MultiplyTransform(Matrix, MatrixOrder)

Moltiplica la trasformazione globale di questo oggetto Graphics e specifica l'oggetto Matrix secondo l'ordine indicato.

MultiplyTransform(Matrix)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Moltiplica la trasformazione globale di questo oggetto Graphics e specifica l'oggetto 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)

Parametri

matrix
Matrix

Oggetto Matrix 4x4 che moltiplica la trasformazione globale.

Esempio

L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgse, che è un parametro del Paint gestore eventi. Il codice esegue le azioni seguenti:

  • Crea una transformMatrix matrice (due per due matrici di identità e un vettore di conversione zero).

  • Converte la matrice di trasformazione in base a un vettore (200, 100).

  • Ruota la matrice di trasformazione mondiale di Windows Form di 30 gradi, prependa la matrice di rotazione per 30 gradi alla matrice di trasformazione del modulo.

  • Moltiplica la matrice di trasformazione del mondo ruotata in base alla matrice di trasformazione del mondo tradotta transformMatrixe prepende l'oggetto transformMatrix alla matrice di trasformazione mondiale.

  • 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 prependa la matrice specificata dal matrix parametro, in modo che il risultato sia matrix x world transformation.

Vedi anche

Si applica a

MultiplyTransform(Matrix, MatrixOrder)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Moltiplica la trasformazione globale di questo oggetto Graphics e specifica l'oggetto Matrix secondo l'ordine indicato.

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

matrix
Matrix

Oggetto Matrix 4x4 che moltiplica la trasformazione globale.

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 Paint gestore eventi. Il codice esegue le azioni seguenti:

  • Crea una transformMatrix matrice (due per due matrici di identità e un vettore di conversione zero).

  • Converte la matrice di trasformazione in base a un vettore (200, 100).

  • Ruota la matrice di trasformazione mondiale di Windows Form di 30 gradi, in attesa della matrice di rotazione per 30 gradi alla matrice di trasformazione del modulo.

  • Moltiplica la matrice di trasformazione del mondo ruotata dall'oggetto tradotto transformMatrix, aggiungendo l'oggetto transformMatrix alla matrice di trasformazione mondiale.

  • 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 x world transformation. Valore di Append per order specifica che l'ordine della moltiplicazione è la trasformazione mondiale x matrix.

Vedi anche

Si applica a