Graphics.ScaleTransform 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 zadanou operaci škálování na transformační matici tohoto Graphics objektu tak, že ji předsadí na transformační matici objektu.
Přetížení
ScaleTransform(Single, Single) |
Použije zadanou operaci škálování na transformační matici tohoto Graphics objektu tak, že ji předsadí na transformační matici objektu. |
ScaleTransform(Single, Single, MatrixOrder) |
Použije zadanou operaci škálování na transformační matici v Graphics zadaném pořadí. |
ScaleTransform(Single, Single)
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
Použije zadanou operaci škálování na transformační matici tohoto Graphics objektu tak, že ji předsadí na transformační matici objektu.
public:
void ScaleTransform(float sx, float sy);
public void ScaleTransform (float sx, float sy);
member this.ScaleTransform : single * single -> unit
Public Sub ScaleTransform (sx As Single, sy As Single)
Parametry
- sx
- Single
Koeficient měřítka ve směru x.
- sy
- Single
Koeficient měřítka ve směru y.
Příklady
Následující příklad kódu je určen pro použití s model Windows Forms a vyžaduje PaintEventArgse
, což je parametr obslužné rutiny Paint události. Kód provede následující akce:
Otočí matici transformace světa formuláře Windows o 30 stupňů.
Škáluje matici koeficientem 3 ve směru x a faktorem 1 ve směru y před transformací škálování.
Nakreslí obdélník s měřítkem otočeným modrým perem.
Výsledkem je stále obdélník.
public:
void ScaleTransformFloat( PaintEventArgs^ e )
{
// Set world transform of graphics object to rotate.
e->Graphics->RotateTransform( 30.0F );
// Then to scale, prepending to world transform.
e->Graphics->ScaleTransform( 3.0F, 1.0F );
// Draw scaled, rotated rectangle to screen.
e->Graphics->DrawRectangle( gcnew Pen( Color::Blue,3.0f ), 50, 0, 100, 40 );
}
private void ScaleTransformFloat(PaintEventArgs e)
{
// Set world transform of graphics object to rotate.
e.Graphics.RotateTransform(30.0F);
// Then to scale, prepending to world transform.
e.Graphics.ScaleTransform(3.0F, 1.0F);
// Draw scaled, rotated rectangle to screen.
e.Graphics.DrawRectangle(new Pen(Color.Blue, 3), 50, 0, 100, 40);
}
Private Sub ScaleTransformFloat(ByVal e As PaintEventArgs)
' Set world transform of graphics object to rotate.
e.Graphics.RotateTransform(30.0F)
' Then to scale, prepending to world transform.
e.Graphics.ScaleTransform(3.0F, 1.0F)
' Draw scaled, rotated rectangle to screen.
e.Graphics.DrawRectangle(New Pen(Color.Blue, 3), 50, 0, 100, 40)
End Sub
Poznámky
Operace škálování se skládá z vynásobení transformační matice diagonální maticí, jejíž prvky jsou (sx
, sy
, 1). Tato metoda předepenuje transformační matici Graphics podle matice škálování.
Platí pro
ScaleTransform(Single, Single, MatrixOrder)
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
- Zdroj:
- Graphics.cs
Použije zadanou operaci škálování na transformační matici v Graphics zadaném pořadí.
public:
void ScaleTransform(float sx, float sy, System::Drawing::Drawing2D::MatrixOrder order);
public void ScaleTransform (float sx, float sy, System.Drawing.Drawing2D.MatrixOrder order);
member this.ScaleTransform : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub ScaleTransform (sx As Single, sy As Single, order As MatrixOrder)
Parametry
- sx
- Single
Koeficient měřítka ve směru x.
- sy
- Single
Koeficient měřítka ve směru y.
- order
- MatrixOrder
Člen výčtu MatrixOrder , který určuje, zda je operace škálování předem nebo připojena k matici transformace.
Příklady
Následující příklad kódu je určen pro použití s model Windows Forms a vyžaduje PaintEventArgse
, což je parametr obslužné rutiny Paint události. Kód provede následující akce:
Otočí matici transformace světa formuláře Windows o 30 stupňů.
Škáluje matici koeficientem 3 ve směru x a faktorem 1 ve směru y připojením transformace škálování k členu Append .
Nakreslí otočený obdélník s měřítkem modrým perem.
Výsledkem je paralelogram.
public:
void ScaleTransformFloatMatrixOrder( PaintEventArgs^ e )
{
// Set world transform of graphics object to rotate.
e->Graphics->RotateTransform( 30.0F );
// Then to scale, appending to world transform.
e->Graphics->ScaleTransform( 3.0F, 1.0F, MatrixOrder::Append );
// Draw rotated, scaled rectangle to screen.
e->Graphics->DrawRectangle( gcnew Pen( Color::Blue,3.0f ), 50, 0, 100, 40 );
}
private void ScaleTransformFloatMatrixOrder(PaintEventArgs e)
{
// Set world transform of graphics object to rotate.
e.Graphics.RotateTransform(30.0F);
// Then to scale, appending to world transform.
e.Graphics.ScaleTransform(3.0F, 1.0F, MatrixOrder.Append);
// Draw rotated, scaled rectangle to screen.
e.Graphics.DrawRectangle(new Pen(Color.Blue, 3), 50, 0, 100, 40);
}
Private Sub ScaleTransformFloatMatrixOrder(ByVal e As PaintEventArgs)
' Set world transform of graphics object to rotate.
e.Graphics.RotateTransform(30.0F)
' Then to scale, appending to world transform.
e.Graphics.ScaleTransform(3.0F, 1.0F, MatrixOrder.Append)
' Draw rotated, scaled rectangle to screen.
e.Graphics.DrawRectangle(New Pen(Color.Blue, 3), 50, 0, 100, 40)
End Sub
Poznámky
Operace škálování se skládá z vynásobení transformační matice diagonální maticí, jejíž prvky jsou (sx
, sy
, 1). Tato metoda předependuje nebo připojí transformační matici Graphics pomocí matice škálování podle parametru order
.
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro