Freigeben über


LinearGradientBrush.ScaleTransform Methode

Definition

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

Überlädt

ScaleTransform(Single, Single)

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

ScaleTransform(Single, Single, MatrixOrder)

Skaliert die lokale geometrische Transformation um die angegebenen Mengen in der angegebenen Reihenfolge.

ScaleTransform(Single, Single)

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

Skaliert die lokale geometrische Transformation um die angegebenen Beträge. Diese Methode stellt die Skalierungsmatrix der Transformation 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 der X-Achsenrichtung skaliert werden soll.

sy
Single

Der Betrag, um den die Transformation in richtung 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
Quelle:
LinearGradientBrush.cs
Quelle:
LinearGradientBrush.cs

Skaliert die lokale geometrische Transformation um die angegebenen Mengen 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 der X-Achsenrichtung skaliert werden soll.

sy
Single

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

order
MatrixOrder

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

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, ein OnPaint-Ereignisobjekt. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine neue LinearGradientBrush.

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

  • Skaliert die LinearGradientBrush um einen Faktor von zwei auf der X-Achse.

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

Beachten Sie, dass der Farbverlauf der unteren Ellipse um einen Faktor von zwei gestreckt wird. Beachten Sie außerdem, dass ein Aufruf der TranslateTransform-Methode verwendet wird, um den linken Rand der Farbverlaufsfüllung mit dem linken Rand der Auslassungspunkte 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: