Freigeben über


Graphics.ScaleTransform Methode

Definition

Wendet den angegebenen Skalierungsvorgang auf die Transformationsmatrix dieser Graphics an, indem sie der Transformationsmatrix des Objekts vorangestellt wird.

Überlädt

ScaleTransform(Single, Single)

Wendet den angegebenen Skalierungsvorgang auf die Transformationsmatrix dieser Graphics an, indem sie 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)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Wendet den angegebenen Skalierungsvorgang auf die Transformationsmatrix dieser Graphics an, indem sie 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 x-Richtung.

sy
Single

Skalierungsfaktor in y-Richtung.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Dreht die Welttransformationsmatrix von Windows Form um 30 Grad.

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

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

Das Ergebnis ist 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 darin, die Transformationsmatrix mit einer diagonalen Matrix zu multiplizieren, deren Elemente (sx, sy, 1) sind. Diese Methode stellt die Transformationsmatrix der Graphics durch die Skalierungsmatrix vor.

Gilt für:

ScaleTransform(Single, Single, MatrixOrder)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
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 x-Richtung.

sy
Single

Skalierungsfaktor in y-Richtung.

order
MatrixOrder

Mitglied der MatrixOrder-Aufzählung, die angibt, ob der Skalierungsvorgang der Transformationsmatrix vorangestellt oder angefügt wird.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Dreht die Welttransformationsmatrix von Windows Form um 30 Grad.

  • Skaliert diese Matrix um einen Faktor von 3 in x-Richtung und einen Faktor von 1 in der 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 darin, die Transformationsmatrix mit einer diagonalen Matrix zu multiplizieren, deren Elemente (sx, sy, 1) sind. Mit dieser Methode wird die Transformationsmatrix der Graphics durch die Skalierungsmatrix entsprechend dem order-Parameter vorangestellt oder angefügt.

Gilt für: