LinearGradientBrush.ScaleTransform Methode

Definitie

Hiermee wordt de lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden. Met deze methode wordt de schaalmatrix voorafgegaan aan de transformatie.

Overloads

Name Description
ScaleTransform(Single, Single)

Hiermee wordt de lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden. Met deze methode wordt de schaalmatrix voorafgegaan aan de transformatie.

ScaleTransform(Single, Single, MatrixOrder)

Hiermee wordt de lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden in de opgegeven volgorde.

ScaleTransform(Single, Single)

Hiermee wordt de lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden. Met deze methode wordt de schaalmatrix voorafgegaan aan de transformatie.

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)

Parameters

sx
Single

De hoeveelheid waarmee de transformatie in de richting van de x-as moet worden geschaald.

sy
Single

De hoeveelheid waarmee de transformatie moet worden geschaald in de richting van de y-as.

Voorbeelden

Zie ScaleTransformvoor een voorbeeld.

Van toepassing op

ScaleTransform(Single, Single, MatrixOrder)

Hiermee wordt de lokale geometrische transformatie geschaald op basis van de opgegeven hoeveelheden in de opgegeven volgorde.

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)

Parameters

sx
Single

De hoeveelheid waarmee de transformatie in de richting van de x-as moet worden geschaald.

sy
Single

De hoeveelheid waarmee de transformatie moet worden geschaald in de richting van de y-as.

order
MatrixOrder

Een MatrixOrder die aangeeft of de schaalmatrix moet worden toegevoegd of voorbereid.

Voorbeelden

Het volgende codevoorbeeld is ontworpen voor gebruik met Windows Forms en vereist PaintEventArgse, een OnPaint-gebeurtenisobject. De code voert de volgende acties uit:

  • Hiermee maakt u een nieuwe LinearGradientBrush.

  • Teken een beletselteken op het scherm met behulp van deze borstel.

  • Schaalt de LinearGradientBrush schaal met een factor van twee op de x-as.

  • Hiermee tekent u een weglatingsteken naar het scherm direct onder het eerste beletselteken, met behulp van de geschaalde borstel.

U ziet dat de kleurovergang van het onderste beletselteken met een factor van twee wordt uitgerekt. U ziet ook dat een aanroep van de TranslateTransform methode wordt gebruikt om de linkerrand van de kleurovergang te rechtvaardigen met de linkerrand van het beletselteken.

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

Van toepassing op