LinearGradientBrush.ScaleTransform Méthode

Définition

Effectue une mise à l'échelle de la transformation géométrique locale selon les valeurs spécifiées.Scales the local geometric transform by the specified amounts. Cette méthode ajoute la matrice de mise à l'échelle avant la transformation.This method prepends the scaling matrix to the transform.

Surcharges

ScaleTransform(Single, Single)

Effectue une mise à l'échelle de la transformation géométrique locale selon les valeurs spécifiées.Scales the local geometric transform by the specified amounts. Cette méthode ajoute la matrice de mise à l'échelle avant la transformation.This method prepends the scaling matrix to the transform.

ScaleTransform(Single, Single, MatrixOrder)

Effectue une mise à l'échelle de la transformation géométrique locale conformément aux valeurs et à l'ordre spécifiés.Scales the local geometric transform by the specified amounts in the specified order.

ScaleTransform(Single, Single)

Effectue une mise à l'échelle de la transformation géométrique locale selon les valeurs spécifiées.Scales the local geometric transform by the specified amounts. Cette méthode ajoute la matrice de mise à l'échelle avant la transformation.This method prepends the scaling matrix to the transform.

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)

Paramètres

sx
Single

Valeur d'ajustement de la transformation dans la direction de l'axe x.The amount by which to scale the transform in the x-axis direction.

sy
Single

Valeur d'ajustement de la transformation dans la direction de l'axe y.The amount by which to scale the transform in the y-axis direction.

Exemples

Pour obtenir un exemple, consultez ScaleTransform.For an example, see ScaleTransform.

S’applique à

ScaleTransform(Single, Single, MatrixOrder)

Effectue une mise à l'échelle de la transformation géométrique locale conformément aux valeurs et à l'ordre spécifiés.Scales the local geometric transform by the specified amounts in the specified order.

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)

Paramètres

sx
Single

Valeur d'ajustement de la transformation dans la direction de l'axe x.The amount by which to scale the transform in the x-axis direction.

sy
Single

Valeur d'ajustement de la transformation dans la direction de l'axe y.The amount by which to scale the transform in the y-axis direction.

order
MatrixOrder

MatrixOrder qui spécifie si la matrice de mise à l'échelle doit être ajoutée avant ou après.A MatrixOrder that specifies whether to append or prepend the scaling matrix.

Exemples

L’exemple de code suivant est conçu pour être utilisé avec Windows Forms, et il requiert PaintEventArgs e un OnPaint objet d’événement.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. Le code effectue les actions suivantes :The code performs the following actions:

  • Crée un LinearGradientBrush.Creates a new LinearGradientBrush.

  • Dessinez une ellipse à l’écran à l’aide de ce pinceau.Draw an ellipse to the screen using this brush.

  • Met à l’échelle le LinearGradientBrush par un facteur de deux sur l’axe x.Scales the LinearGradientBrush by a factor of two in the x-axis.

  • Dessine une ellipse à l’écran, directement sous la première ellipse, à l’aide du pinceau mis à l’échelle.Draws an ellipse to the screen directly below the first ellipse, using the scaled brush.

Notez que le dégradé de l’ellipse inférieure est étiré par un facteur de deux.Notice that the gradient of the lower ellipse is stretched by a factor of two. Notez également qu’un appel à la TranslateTransform méthode est utilisé pour justifier le bord gauche du remplissage dégradé avec le bord gauche de l’ellipse.Also notice that a call to the TranslateTransform method is used to justify the left edge of the gradient fill with the left edge of ellipse.

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

S’applique à