Matrix.Shear Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillämpar den angivna sk shearvektorn på detta Matrix genom att vänta på sk shearvektorn.
Överlagringar
| Name | Description |
|---|---|
| Shear(Single, Single) |
Tillämpar den angivna sk shearvektorn på detta Matrix genom att vänta på sheartransformeringen. |
| Shear(Single, Single, MatrixOrder) |
Tillämpar den angivna sk shearvektorn på detta Matrix i den angivna ordningen. |
Shear(Single, Single)
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
Tillämpar den angivna sk shearvektorn på detta Matrix genom att vänta på sheartransformeringen.
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)
Parametrar
- shearX
- Single
Den horisontella sk shearfaktorn.
- shearY
- Single
Den lodräta sk shearfaktorn.
Exempel
Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, ett Paint händelseobjekt. Koden utför följande åtgärd:
Ritar en rektangel till skärmen med en grön penna innan du tillämpar en skalningstransformering.
Skapar en Matrix och använder den för att ange en världskoordinattransformering för Graphics.
Ritar en annan rektangel med en röd penna.
Ritar en ellips med en blå penna.
Resultatet är en grön rektangel, ett rött parallellogram och en transformerad, blå ellips. Observera att den gröna rektangeln (som ritades innan transformeringsinställningen) direkt använder koordinaterna som angavs i anropet DrawRectangle . De andra två figurerna transformeras före ritningen. Rektangeln omvandlas till ett parallellogram (rött) och ellipsen (blå) omvandlas för att passa in i det transformerade parallellogrammet. Observera att rektangelns nederkant flyttas (klippt) i x-axeln med en faktor på två gånger rektangelns höjd, vilket bildar parallellogrammet.
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
Kommentarer
Den transformering som används i den här metoden är bara en ren sk shear om en av parametrarna är 0. När faktorn är 0 tillämpas på en rektangel vid ursprunget shearY , flyttas den nedersta kanten vågrätt shearX efter gånger rektangelns höjd.
shearX När faktorn är 0 flyttas den högra kanten lodrätt shearY efter gånger rektangelns bredd. Försiktighet är i ordning när båda parametrarna inte är noll, eftersom resultaten är svåra att förutsäga. Om båda faktorerna till exempel är 1 är omvandlingen singular (därmed icke-inverterbar) och klämmer hela planet till en enda linje.
Gäller för
Shear(Single, Single, MatrixOrder)
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
- Källa:
- Matrix.cs
Tillämpar den angivna sk shearvektorn på detta Matrix i den angivna ordningen.
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)
Parametrar
- shearX
- Single
Den horisontella sk shearfaktorn.
- shearY
- Single
Den lodräta sk shearfaktorn.
- order
- MatrixOrder
A MatrixOrder som anger den ordning (tillägg eller prepend) som shear används i.
Exempel
Ett exempel finns i Shear(Single, Single).
Kommentarer
Den transformering som används i den här metoden är bara en ren sk shear om en av parametrarna är 0. När faktorn är 0 tillämpas på en rektangel vid ursprunget shearY , flyttas den nedersta kanten vågrätt shearX efter gånger rektangelns höjd.
shearX När faktorn är 0 flyttas den högra kanten lodrätt shearY efter gånger rektangelns bredd. Försiktighet är i ordning när båda parametrarna inte är noll, eftersom resultaten är svåra att förutsäga. Om båda faktorerna till exempel är 1 är omvandlingen singular (därmed icke-inverterbar) och klämmer hela planet till en enda linje.