Matrix.Shear Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Použije na tento Matrix zadaný vektor shear tím, že předzálohuje shear vector.
Přetížení
Shear(Single, Single) |
Použije na tento Matrix zadaný vektor shear tím, že předsadí smykovou transformaci. |
Shear(Single, Single, MatrixOrder) |
Použije zadaný shear vector na tento Matrix v zadaném pořadí. |
Shear(Single, Single)
- Zdroj:
- Matrix.cs
- Zdroj:
- Matrix.cs
- Zdroj:
- Matrix.cs
- Zdroj:
- Matrix.cs
- Zdroj:
- Matrix.cs
Použije na tento Matrix zadaný vektor shear tím, že předsadí smykovou transformaci.
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)
Parametry
- shearX
- Single
Vodorovný shear factor.
- shearY
- Single
Svislý shear factor.
Příklady
Následující příklad kódu je určen pro použití s Windows Forms a vyžaduje PaintEventArgse
, Paint objekt události. Kód provede následující akci:
Nakreslí na obrazovku obdélník pomocí zeleného pera před použitím transformace měřítka.
Vytvoří Matrix a použije ho k nastavení světové souřadnicové transformace pro Graphics.
Nakreslí jiný obdélník pomocí červeného pera.
Nakreslí tři tečky pomocí modrého pera.
Výsledkem je zelený obdélník, červený paralelogram a transformovaný modrý symbol tří teček. Všimněte si, že zelený obdélník (nakreslený před nastavením transformace) přímo používá souřadnice zadané v DrawRectangle volání. Ostatní dva obrázky se před kreslením transformují. Obdélník se transformuje na paralelogram (červený) a tři tečky (modrá) se transformují tak, aby se vešly do transformovaného paralelogramu. Všimněte si, že dolní část obdélníku se přesune (vysunutá) na ose x faktorem dvounásobku výšky obdélníku, čímž vznikne paralelogram.
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
Poznámky
Transformace použitá v této metodě je čistě shear pouze v případě, že jeden z parametrů je 0. Použije se u obdélníku na počátku, pokud je shearY
faktor 0, transformace posune dolní okraj vodorovně o shearX
krát výšku obdélníku. Když je shearX
faktor 0, posune pravý okraj svisle shearY
krát šířku obdélníku. Upozornění je v pořadí, pokud jsou oba parametry nenulové, protože výsledky jsou obtížné předpovědět. Pokud jsou například oba faktory 1, transformace je jednotné (proto neinvertitelné), vynutí celou rovinu na jednu čáru.
Platí pro
Shear(Single, Single, MatrixOrder)
- Zdroj:
- Matrix.cs
- Zdroj:
- Matrix.cs
- Zdroj:
- Matrix.cs
- Zdroj:
- Matrix.cs
- Zdroj:
- Matrix.cs
Použije zadaný shear vector na tento Matrix v zadaném pořadí.
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)
Parametry
- shearX
- Single
Vodorovný shear factor.
- shearY
- Single
Svislý shear factor.
- order
- MatrixOrder
MatrixOrder, která určuje pořadí (připojení nebo předpend), ve kterém se použije shear.
Příklady
Příklad najdete v tématu Shear(Single, Single).
Poznámky
Transformace použitá v této metodě je čistě shear pouze v případě, že jeden z parametrů je 0. Použije se u obdélníku na počátku, pokud je shearY
faktor 0, transformace posune dolní okraj vodorovně o shearX
krát výšku obdélníku. Když je shearX
faktor 0, posune pravý okraj svisle shearY
krát šířku obdélníku. Upozornění je v pořadí, pokud jsou oba parametry nenulové, protože výsledky jsou obtížné předpovědět. Pokud jsou například oba faktory 1, transformace je jednotné (proto neinvertitelné), vynutí celou rovinu na jednu čáru.