Matrix.Shear Metod

Definition

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.

Gäller för