Graphics.ScaleTransform Methode

Definition

Wendet die angegebene Skalierungsoperation auf die Transformationsmatrix dieses Graphics an, indem diese der Transformationsmatrix des Objekts vorangestellt wird.

Überlädt

ScaleTransform(Single, Single)

Wendet die angegebene Skalierungsoperation auf die Transformationsmatrix dieses Graphics an, indem diese der Transformationsmatrix des Objekts vorangestellt wird.

ScaleTransform(Single, Single, MatrixOrder)

Wendet den angegebenen Skalierungsvorgang auf die Transformationsmatrix dieses Graphics in der angegebenen Reihenfolge an.

ScaleTransform(Single, Single)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Wendet die angegebene Skalierungsoperation auf die Transformationsmatrix dieses Graphics an, indem diese der Transformationsmatrix des Objekts vorangestellt wird.

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)

Parameter

sx
Single

Skalierungsfaktor in der x-Richtung.

sy
Single

Skalierungsfaktor in der y-Richtung.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Rotiert die Welttransformationsmatrix von Windows Form um 30 Grad.

  • Skaliert diese Matrix um den Faktor 3 in x-Richtung und einen Faktor von 1 in y-Richtung, indem die Skalierungstransformation vorausgestellt wird.

  • Zeichnet ein skaliertes, gedrehtes Rechteck mit einem blauen Stift.

Das Ergebnis ist immer noch ein Rechteck.

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

Hinweise

Der Skalierungsvorgang besteht aus dem Multiplizieren der Transformationsmatrix mit einer diagonalen Matrix, deren Elemente (sx, sy, 1) sind. Diese Methode stellt die Transformationsmatrix von Graphics durch die Skalierungsmatrix voran.

Gilt für:

ScaleTransform(Single, Single, MatrixOrder)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Wendet den angegebenen Skalierungsvorgang auf die Transformationsmatrix dieses Graphics in der angegebenen Reihenfolge an.

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)

Parameter

sx
Single

Skalierungsfaktor in der x-Richtung.

sy
Single

Skalierungsfaktor in der y-Richtung.

order
MatrixOrder

Member der MatrixOrder-Enumeration, der angibt, ob die Skalierungsoperation an die Transformationsmatrix angehängt oder dieser vorangestellt wird.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, was ein Parameter des Paint Ereignishandlers ist. Der Code führt die folgenden Aktionen aus:

  • Rotiert die Welttransformationsmatrix von Windows Form um 30 Grad.

  • Skaliert diese Matrix um den Faktor 3 in x-Richtung und einen Faktor von 1 in y-Richtung, indem die Skalierungstransformation mit dem Append Element angefügt wird.

  • Zeichnet ein gedrehtes, skaliertes Rechteck mit einem blauen Stift.

Das Ergebnis ist ein Parallelogramm.

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

Hinweise

Der Skalierungsvorgang besteht aus dem Multiplizieren der Transformationsmatrix mit einer diagonalen Matrix, deren Elemente (sx, sy, 1) sind. Mit dieser Methode wird die Transformationsmatrix des Graphics durch die Skalierungsmatrix entsprechend dem order Parameter vorangestellt oder angefügt.

Gilt für: