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 Matrix.Shear (Single, Single)

 

Data di pubblicazione: ottobre 2016

Applica il vettore di taglio specificato a questa classe Matrix anteponendo la trasformazione di taglio.

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

public void Shear(
	float shearX,
	float shearY
)

Parametri

shearX
Type: System.Single

Fattore di taglio orizzontale.

shearY
Type: System.Single

Fattore di taglio verticale.

La trasformazione applicata in questo metodo è un taglio solo se uno dei parametri è 0. Applicato a un rettangolo all'origine, quando il shearY fattore è 0, la trasformazione sposta il bordo inferiore orizzontalmente da shearX volte l'altezza del rettangolo. Quando il shearX fattore è 0, sposta il bordo destro verticalmente shearY volte la larghezza del rettangolo. Attenzione è nell'ordine quando entrambi i parametri sono diversi da zero, in quanto i risultati sono difficili da prevedere. Ad esempio, se entrambi i fattori sono 1, la trasformazione è singolare (pertanto non invertibile), riducendo l'intero piano in una singola riga.

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

  • Disegna un rettangolo sullo schermo, utilizzando una penna di colore verde, prima di applicare una trasformazione in scala.

  • Crea un Matrix e viene utilizzata per impostare una trasformazione coordinata globale per il Graphics.

  • Disegna un altro rettangolo mediante una penna rossa.

  • Disegna un'ellisse utilizzando una penna blu.

Il risultato è un rettangolo verde, un parallelogramma rosso e un'ellisse blu trasformata. Si noti che il rettangolo verde, disegnato prima dell'impostazione della trasformazione, vengono utilizzate direttamente le coordinate fornite nella DrawRectangle chiamare. Le altre due figure vengono trasformate prima del disegno. Il rettangolo viene trasformato in un parallelogramma (rosso) e l'ellisse (blu) viene trasformato in base al nuovo parallelogramma. Si noti che la parte inferiore del rettangolo viene spostata (tagliata) nell'asse x di un fattore di due volte l'altezza del rettangolo, formando così un parallelogramma.

public void MatrixShearExample(PaintEventArgs e)
{
    Matrix myMatrix = new Matrix();
    myMatrix.Shear(2, 0);
    e.Graphics.DrawRectangle(new Pen(Color.Green), 0, 0, 100, 50);
    e.Graphics.MultiplyTransform(myMatrix);
    e.Graphics.DrawRectangle(new Pen(Color.Red), 0, 0, 100, 50);
    e.Graphics.DrawEllipse(new Pen(Color.Blue), 0, 0, 100, 50);
}

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