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 PathGradientBrush.ScaleTransform (Single, Single, MatrixOrder)

 

Data di pubblicazione: ottobre 2016

Scale locale geometrica trasformazione in base ai valori specificati nell'ordine specificato.

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

public void ScaleTransform(
	float sx,
	float sy,
	MatrixOrder order
)

Parametri

sx
Type: System.Single

Fattore di scala la trasformazione nella direzione dell'asse x.

sy
Type: System.Single

Fattore di scala la trasformazione nella direzione dell'asse y.

order
Type: System.Drawing.Drawing2D.MatrixOrder

Oggetto MatrixOrder che specifica se accodare o anteporre la matrice di ridimensionamento.

Esempio di codice seguente è progettato per l'utilizzo con Windows Form e richiede PaintEventArgse, un OnPaint oggetto evento. Il codice

  • Crea un percorso grafico e aggiunge un rettangolo.

  • Crea un PathGradientBrush dai punti di percorso (in questo esempio, i punti di formano un rettangolo, ma è possibile che la maggior parte delle qualsiasi forma).

  • Imposta il colore center per il colore circostante su blu e rosso.

  • Disegna il PathGradientBrush sullo schermo prima di applicare la trasformazione di scala.

  • Applica la trasformazione di scala per il pennello utilizzando il relativo ScaleTransform metodo.

  • Chiamate di TranslateTransform metodo per spostare il rettangolo pennello in modo che non si sovrapponga a quello disegnato alla schermata precedente.

  • Disegna il rettangolo pennello tradotti sullo schermo.

Si noti che il rettangolo inferiore è il doppio del tempo nell'asse x come è quello disegnato prima della traslazione.

public void ScaleTransformExample(PaintEventArgs e)
{

    // Create a graphics path and add a rectangle.
    GraphicsPath myPath = new GraphicsPath();
    Rectangle rect = new Rectangle(100, 20, 100, 50);
    myPath.AddRectangle(rect);

    // Get the path's array of points.
    PointF[] myPathPointArray = myPath.PathPoints;

    // Create a path gradient brush.
    PathGradientBrush myPGBrush = new
        PathGradientBrush(myPathPointArray);

    // Set the color span.
    myPGBrush.CenterColor = Color.Red;
    Color[] mySurroundColor = {Color.Blue};
    myPGBrush.SurroundColors = mySurroundColor;

    // Draw the brush to the screen prior to transformation.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200);

    // Scale by a factor of 2 in the x-axis by applying the scale
    // transform to the brush.
    myPGBrush.ScaleTransform(2, 1, MatrixOrder.Append);

    // Move the brush down by 100 by Applying the translate
    // transform to the brush.
    myPGBrush.TranslateTransform(-100, 100, MatrixOrder.Append);

    // Draw the brush to the screen again after applying the
    // transforms.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300);
}

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