LinearGradientBrush.ScaleTransform Methode

Definition

Skaliert die lokale geometrische Transformation um die angegebenen Beträge. Diese Methode stellt der Transformation die Skalierungsmatrix voran.

Überlädt

ScaleTransform(Single, Single)

Skaliert die lokale geometrische Transformation um die angegebenen Beträge. Diese Methode stellt der Transformation die Skalierungsmatrix voran.

ScaleTransform(Single, Single, MatrixOrder)

Skaliert die lokale geometrische Transformation um die angegebenen Beträge in der angegebenen Reihenfolge.

ScaleTransform(Single, Single)

Quelle:
LinearGradientBrush.cs
Quelle:
LinearGradientBrush.cs
Quelle:
LinearGradientBrush.cs

Skaliert die lokale geometrische Transformation um die angegebenen Beträge. Diese Methode stellt der Transformation die Skalierungsmatrix voran.

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

Der Betrag, um den die Transformation in Richtung der x-Achse skaliert werden soll.

sy
Single

Der Betrag, um den die Transformation in Richtung der y-Achse skaliert werden soll.

Beispiele

Ein Beispiel finden Sie unter ScaleTransform.

Gilt für:

ScaleTransform(Single, Single, MatrixOrder)

Quelle:
LinearGradientBrush.cs
Quelle:
LinearGradientBrush.cs
Quelle:
LinearGradientBrush.cs

Skaliert die lokale geometrische Transformation um die angegebenen Beträge in der angegebenen Reihenfolge.

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

Der Betrag, um den die Transformation in Richtung der x-Achse skaliert werden soll.

sy
Single

Der Betrag, um den die Transformation in Richtung der y-Achse skaliert werden soll.

order
MatrixOrder

Eine MatrixOrder, die angibt, ob die Skalierungsmatrix vorangestellt oder angefügt werden soll.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgseein OnPaint Ereignisobjekt. Der Code führt die folgenden Aktionen aus:

  • Erstellt einen neuen LinearGradientBrush.

  • Zeichnen Sie mit diesem Pinsel eine Ellipse auf den Bildschirm.

  • Skaliert die um den LinearGradientBrush Faktor zwei in der x-Achse.

  • Zeichnet mit dem skalierten Pinsel eine Ellipse direkt unter der ersten Auslassungspunkte auf den Bildschirm.

Beachten Sie, dass der Farbverlauf der unteren Ellipse um den Faktor zwei gestreckt ist. Beachten Sie auch, dass ein Aufruf der TranslateTransform -Methode verwendet wird, um den linken Rand der Farbverlaufsfüllung mit dem linken Rand der Ellipse zu rechtfertigen.

private:
   void ScaleTransformExample( PaintEventArgs^ e )
   {
      // Create a LinearGradientBrush.
      Rectangle myRect = Rectangle(20,20,200,100);
      LinearGradientBrush^ myLGBrush = gcnew LinearGradientBrush( myRect,Color::Blue,Color::Red,0.0f,true );

      // Draw an ellipse to the screen using the LinearGradientBrush.
      e->Graphics->FillEllipse( myLGBrush, myRect );

      // Scale the LinearGradientBrush.
      myLGBrush->ScaleTransform( 2.0f, 1.0f, MatrixOrder::Prepend );

      // Rejustify the brush to start at the left edge of the ellipse.
      myLGBrush->TranslateTransform(  -20.0f, 0.0f );

      // Draw a second ellipse to the screen using
      // the transformed brush.
      e->Graphics->FillEllipse( myLGBrush, 20, 150, 200, 100 );
   }
private void ScaleTransformExample(PaintEventArgs e)
{
             
    // Create a LinearGradientBrush.
    Rectangle myRect = new Rectangle(20, 20, 200, 100);
    LinearGradientBrush myLGBrush = new LinearGradientBrush(
        myRect, Color.Blue, Color.Red,  0.0f, true);
             
    // Draw an ellipse to the screen using the LinearGradientBrush.
    e.Graphics.FillEllipse(myLGBrush, myRect);
             
    // Scale the LinearGradientBrush.
    myLGBrush.ScaleTransform(2.0f, 1.0f, MatrixOrder.Prepend);
   
    // Rejustify the brush to start at the left edge of the ellipse.
    myLGBrush.TranslateTransform(-20.0f, 0.0f);
             
    // Draw a second ellipse to the screen using
    // the transformed brush.
    e.Graphics.FillEllipse(myLGBrush, 20, 150, 200, 100);
}
Public Sub ScaleTransformExample(ByVal e As PaintEventArgs)

    ' Create a LinearGradientBrush.
    Dim myRect As New Rectangle(20, 20, 200, 100)
    Dim myLGBrush As New LinearGradientBrush(myRect, Color.Blue, _
    Color.Red, 0.0F, True)

    ' Draw an ellipse to the screen using the LinearGradientBrush.
    e.Graphics.FillEllipse(myLGBrush, myRect)

    ' Scale the LinearGradientBrush.
    myLGBrush.ScaleTransform(2.0F, 1.0F, MatrixOrder.Prepend)

    ' Rejustify the brush to start at the left edge of the ellipse.
    myLGBrush.TranslateTransform(-20.0F, 0.0F)

    ' Draw a second ellipse to the screen using the transformed brush.
    e.Graphics.FillEllipse(myLGBrush, 20, 150, 200, 100)
End Sub

Gilt für: