Graphics.ScaleTransform Metoda

Definice

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