Graphics.MultiplyTransform Graphics.MultiplyTransform Graphics.MultiplyTransform Method

Definizione

Moltiplica la trasformazione globale di questo oggetto Graphics e specifica l'oggetto Matrix.Multiplies the world transformation of this Graphics and specified the Matrix.

Overload

MultiplyTransform(Matrix) MultiplyTransform(Matrix) MultiplyTransform(Matrix)

Moltiplica la trasformazione globale di questo oggetto Graphics e specifica l'oggetto Matrix.Multiplies the world transformation of this Graphics and specified the Matrix.

MultiplyTransform(Matrix, MatrixOrder) MultiplyTransform(Matrix, MatrixOrder) MultiplyTransform(Matrix, MatrixOrder)

Moltiplica la trasformazione globale di questo oggetto Graphics e specifica l'oggetto Matrix secondo l'ordine indicato.Multiplies the world transformation of this Graphics and specified the Matrix in the specified order.

MultiplyTransform(Matrix) MultiplyTransform(Matrix) MultiplyTransform(Matrix)

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

Parametri

matrix
Matrix Matrix Matrix

Oggetto Matrix 4 x 4 che moltiplica la trasformazione globale.4x4 Matrix that multiplies the world transformation.

Esempi

L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgs e, che Paint è un parametro del gestore eventi.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Nel codice vengono eseguite le seguenti azioni:The code performs the following actions:

  • Crea una transformMatrix matrice (due per due matrice di identità più un vettore di conversione zero).Creates a transformMatrix matrix (a two by two identity matrix plus a zero-translation vector).

  • Converte la matrice di trasformazione in base a un vettore (200, 100).Translates the transform matrix by a vector (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 del modulo.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.

  • Moltiplica la matrice di trasformazione globale ruotata dall'oggetto tradotto transformMatrixe antepone transformMatrix alla matrice di trasformazione mondiale.Multiplies the rotated world transformation matrix by the translated transformMatrix, and prepends the transformMatrix to the world transformation matrix.

  • Disegna un'ellisse traslata e convertita.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

Commenti

Questo metodo antepone la matrice specificata dal matrix parametro, in modo che il risultato sia matrix x trasformazione mondiale.This method prepends the matrix specified by the matrix parameter, so that the result is matrix x world transformation.

Vedi anche

MultiplyTransform(Matrix, MatrixOrder) MultiplyTransform(Matrix, MatrixOrder) MultiplyTransform(Matrix, MatrixOrder)

Moltiplica la trasformazione globale di questo oggetto Graphics e specifica l'oggetto Matrix secondo l'ordine indicato.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

Parametri

matrix
Matrix Matrix Matrix

Oggetto Matrix 4 x 4 che moltiplica la trasformazione globale.4x4 Matrix that multiplies the world transformation.

order
MatrixOrder MatrixOrder MatrixOrder

Membro dell'enumerazione MatrixOrder che determina l'ordine della moltiplicazione.Member of the MatrixOrder enumeration that determines the order of the multiplication.

Esempi

L'esempio di codice seguente è progettato per l'uso con Windows Forms e richiede PaintEventArgs e, che Paint è un parametro del gestore eventi.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Nel codice vengono eseguite le seguenti azioni:The code performs the following actions:

  • Crea una transformMatrix matrice (due per due matrice di identità più un vettore di conversione zero).Creates a transformMatrix matrix (a two by two identity matrix plus a zero-translation vector).

  • Converte la matrice di trasformazione in base a un vettore (200, 100).Translates the transform matrix by a vector (200, 100).

  • Ruota la matrice di trasformazione globale di Windows Form per 30 gradi, anteponendo la matrice di rotazione per 30 gradi alla matrice di trasformazione del modulo.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.

  • Moltiplica la matrice di trasformazione globale ruotata dall'oggetto tradotto transformMatrix, accodando l'oggetto transformMatrix alla matrice di trasformazione mondiale.Multiplies the rotated world transformation matrix by the translated transformMatrix, appending the transformMatrix to the world transformation matrix.

  • Disegna un'ellisse traslata e convertita.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

Commenti

Il valore Prepend per il order parametro specifica che l'ordine della moltiplicazione è matrix x trasformazione mondiale.A value of Prepend for the order parameter specifies that the order of the multiplication is matrix x world transformation. Il valore Append per order specifica che l'ordine della moltiplicazione è la trasformazione globale x matrix.A value of Append for order specifies that the order of the multiplication is world transformation x matrix.

Vedi anche

Si applica a