Matrix.Shear Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Applica il vettore di taglio specificato a questo Matrix anteponendo il vettore di taglio.
Overload
Shear(Single, Single) |
Applica il vettore di taglio specificato a questo Matrix anteponendo la trasformazione shear. |
Shear(Single, Single, MatrixOrder) |
Applica il vettore di taglio specificato a questo Matrix nell'ordine specificato. |
Shear(Single, Single)
- Origine:
- Matrix.cs
- Origine:
- Matrix.cs
- Origine:
- Matrix.cs
- Origine:
- Matrix.cs
- Origine:
- Matrix.cs
Applica il vettore di taglio specificato a questo Matrix anteponendo la trasformazione shear.
public:
void Shear(float shearX, float shearY);
public void Shear (float shearX, float shearY);
member this.Shear : single * single -> unit
Public Sub Shear (shearX As Single, shearY As Single)
Parametri
- shearX
- Single
Fattore di taglio orizzontale.
- shearY
- Single
Fattore di taglio verticale.
Esempio
L'esempio di codice seguente è progettato per l'uso con Windows Form e richiede PaintEventArgse
, un oggetto evento Paint. Il codice esegue l'azione seguente:
Disegna un rettangolo sullo schermo, usando una penna verde, prima di applicare una trasformazione di ridimensionamento.
Crea un Matrix e lo usa per impostare una trasformazione della coordinata globale per l'Graphics.
Disegna un altro rettangolo usando una penna rossa.
Disegna un'ellisse utilizzando una penna blu.
Il risultato è un rettangolo verde, un parallelogramma rosso e un ellisse blu trasformato. Si noti che il rettangolo verde (disegnato prima di impostare la trasformazione) usa direttamente le coordinate fornite nella chiamata DrawRectangle. Le altre due figure vengono trasformate prima del disegno. Il rettangolo viene trasformato in un parallelogramma (rosso) e l'ellisse (blu) viene trasformato in modo da adattarsi al parallelogramma trasformato. Si noti che la parte inferiore del rettangolo viene spostata (sheared) nell'asse x da un fattore pari a due volte l'altezza del rettangolo, formando così il parallelogramma.
public:
void MatrixShearExample( PaintEventArgs^ e )
{
Matrix^ myMatrix = gcnew Matrix;
myMatrix->Shear( 2, 0 );
e->Graphics->DrawRectangle( gcnew Pen( Color::Green ), 0, 0, 100, 50 );
e->Graphics->MultiplyTransform( myMatrix );
e->Graphics->DrawRectangle( gcnew Pen( Color::Red ), 0, 0, 100, 50 );
e->Graphics->DrawEllipse( gcnew Pen( Color::Blue ), 0, 0, 100, 50 );
}
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);
}
Public Sub MatrixShearExample(ByVal e As PaintEventArgs)
Dim myMatrix As 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)
End Sub
Commenti
La trasformazione applicata in questo metodo è una taglio pura solo se uno dei parametri è 0. Applicato a un rettangolo all'origine, quando il fattore di shearY
è 0, la trasformazione sposta il bordo inferiore orizzontalmente shearX
volte l'altezza del rettangolo. Quando il fattore di shearX
è 0, sposta il bordo destro verticalmente shearY
volte la larghezza del rettangolo. Attenzione è in ordine quando entrambi i parametri sono diversi da zero, perché i risultati sono difficili da stimare. Ad esempio, se entrambi i fattori sono 1, la trasformazione è singolare (di conseguenza non invertibile), accodando l'intero piano a una singola riga.
Si applica a
Shear(Single, Single, MatrixOrder)
- Origine:
- Matrix.cs
- Origine:
- Matrix.cs
- Origine:
- Matrix.cs
- Origine:
- Matrix.cs
- Origine:
- Matrix.cs
Applica il vettore di taglio specificato a questo Matrix nell'ordine specificato.
public:
void Shear(float shearX, float shearY, System::Drawing::Drawing2D::MatrixOrder order);
public void Shear (float shearX, float shearY, System.Drawing.Drawing2D.MatrixOrder order);
member this.Shear : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub Shear (shearX As Single, shearY As Single, order As MatrixOrder)
Parametri
- shearX
- Single
Fattore di taglio orizzontale.
- shearY
- Single
Fattore di taglio verticale.
- order
- MatrixOrder
Oggetto MatrixOrder che specifica l'ordine (accodamento o anteporre) in cui viene applicata l'shear.
Esempio
Per un esempio, vedere Shear(Single, Single).
Commenti
La trasformazione applicata in questo metodo è una taglio pura solo se uno dei parametri è 0. Applicato a un rettangolo all'origine, quando il fattore di shearY
è 0, la trasformazione sposta il bordo inferiore orizzontalmente shearX
volte l'altezza del rettangolo. Quando il fattore di shearX
è 0, sposta il bordo destro verticalmente shearY
volte la larghezza del rettangolo. Attenzione è in ordine quando entrambi i parametri sono diversi da zero, perché i risultati sono difficili da stimare. Ad esempio, se entrambi i fattori sono 1, la trasformazione è singolare (di conseguenza non invertibile), accodando l'intero piano a una singola riga.