Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo LinearGradientBrush.MultiplyTransform (Matrix, MatrixOrder)

 

Data di pubblicazione: ottobre 2016

Moltiplica il Matrix che rappresenta la trasformazione geometrica locale di questo LinearGradientBrush dall'oggetto Matrix nell'ordine specificato.

Spazio dei nomi:   System.Drawing.Drawing2D
Assembly:  System.Drawing (in System.Drawing.dll)

public void MultiplyTransform(
	Matrix matrix,
	MatrixOrder order
)

Parametri

matrix
Type: System.Drawing.Drawing2D.Matrix

Il Matrix mediante il quale moltiplicare la trasformazione geometrica.

order
Type: System.Drawing.Drawing2D.MatrixOrder

Oggetto MatrixOrder che specifica in quale ordine moltiplicare le due matrici.

Esempio di codice seguente è progettato per l'utilizzo con Windows Form e richiede PaintEventArgse, un OnPaint oggetto evento. Nel codice vengono eseguite le seguenti azioni:

  • Crea un nuovo oggetto LinearGradientBrush.

  • Disegna un'ellisse sullo schermo mediante questo pennello.

  • Chiamate di MultiplyTransform (metodo), per trasformare il LinearGradientBrush.

  • Disegna un'ellisse sullo schermo direttamente sotto la prima ellisse mediante il pennello trasformato.

Si noti che l'ellisse inferiore viene estesa in direzione orizzontale e che la sfumatura viene estesa per corrispondere alla nuova forma.

private void MultiplyTransformExample(PaintEventArgs e)
{

    // Create a LinearGradientBrush.
    Rectangle myRect = new Rectangle(20, 20, 200, 100);
    LinearGradientBrush myLGBrush = new LinearGradientBrush(
        myRect, Color.Blue, Color.Red,  0.0f, true);

    // Draw an ellipse to the screen using the LinearGradientBrush.
    e.Graphics.FillEllipse(myLGBrush, myRect);

    // Transform the LinearGradientBrush.
    Point[] transformArray = { new Point(20, 150),
         new Point(400,150), new Point(20, 200) };

    Matrix myMatrix = new Matrix(myRect, transformArray);
    myLGBrush.MultiplyTransform(
        myMatrix,
        MatrixOrder.Prepend);

    // Draw a second ellipse to the screen using
    // the transformed brush.
    e.Graphics.FillEllipse(myLGBrush, 20, 150, 380, 50);
}

.NET Framework
Disponibile da 1.1
Torna all'inizio
Mostra: