Matrix.Scale Méthode

Définition

Applique le vecteur d'échelle spécifié à ce Matrix en l'ajoutant au début.Applies the specified scale vector to this Matrix by prepending the scale vector.

Surcharges

Scale(Single, Single)

Applique le vecteur d'échelle spécifié à ce Matrix en l'ajoutant au début.Applies the specified scale vector to this Matrix by prepending the scale vector.

Scale(Single, Single, MatrixOrder)

Applique le vecteur d'échelle spécifié (scaleX et scaleY) à ce Matrix dans l'ordre spécifié.Applies the specified scale vector (scaleX and scaleY) to this Matrix using the specified order.

Scale(Single, Single)

Applique le vecteur d'échelle spécifié à ce Matrix en l'ajoutant au début.Applies the specified scale vector to this Matrix by prepending the scale vector.

public:
 void Scale(float scaleX, float scaleY);
public void Scale (float scaleX, float scaleY);
member this.Scale : single * single -> unit
Public Sub Scale (scaleX As Single, scaleY As Single)

Paramètres

scaleX
Single

Valeur d'échelle de cet objet Matrix sur l'axe x.The value by which to scale this Matrix in the x-axis direction.

scaleY
Single

Valeur d'échelle de cet objet Matrix sur l'axe y.The value by which to scale this Matrix in the y-axis direction.

Exemples

Pour obtenir un exemple, consultez Scale(Single, Single, MatrixOrder).For an example, see Scale(Single, Single, MatrixOrder).

Scale(Single, Single, MatrixOrder)

Applique le vecteur d'échelle spécifié (scaleX et scaleY) à ce Matrix dans l'ordre spécifié.Applies the specified scale vector (scaleX and scaleY) to this Matrix using the specified order.

public:
 void Scale(float scaleX, float scaleY, System::Drawing::Drawing2D::MatrixOrder order);
public void Scale (float scaleX, float scaleY, System.Drawing.Drawing2D.MatrixOrder order);
member this.Scale : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub Scale (scaleX As Single, scaleY As Single, order As MatrixOrder)

Paramètres

scaleX
Single

Valeur d'échelle de cet objet Matrix sur l'axe x.The value by which to scale this Matrix in the x-axis direction.

scaleY
Single

Valeur d'échelle de cet objet Matrix sur l'axe y.The value by which to scale this Matrix in the y-axis direction.

order
MatrixOrder

MatrixOrder qui spécifie l'ordre (ajout au début ou à la fin) dans lequel le vecteur d'échelle est appliqué à ce Matrix.A MatrixOrder that specifies the order (append or prepend) in which the scale vector is applied to this Matrix.

Exemples

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

  • Dessine un rectangle à l’écran avant l’application d’une transformation de mise à l’échelle (rectangle bleu).Draws a rectangle to the screen prior to applying a scaling transform (the blue rectangle).

  • Crée une matrice et la met à l’échelle de 3 sur l’axe des x et 2 sur l’axe des y.Creates a matrix and scales it by 3 in the x-axis and 2 in the y-axis.

  • Applique cette transformation de matrice au rectangle.Applies this matrix transform to the rectangle.

  • Dessine le rectangle transformé à l’écran (rectangle rouge).Draws the transformed rectangle to the screen (the red rectangle).

Notez que le rectangle rouge a été mis à l’échelle par un facteur de 3 sur l’axe x et par 2 sur l’axe y, y compris l’angle supérieur gauche du rectangle (le point de départ du rectangle).Notice that the red rectangle has been scaled by a factor of 3 in the x-axis and by 2 in the y-axis, including the upper left-hand corner of the rectangle (the beginning point of the rectangle).

public:
   void ScaleExample( PaintEventArgs^ e )
   {
      Pen^ myPen = gcnew Pen( Color::Blue,1.0f );
      Pen^ myPen2 = gcnew Pen( Color::Red,1.0f );

      // Draw the rectangle to the screen before applying the
      // transform.
      e->Graphics->DrawRectangle( myPen, 50, 50, 100, 100 );

      // Create a matrix and scale it.
      Matrix^ myMatrix = gcnew Matrix;
      myMatrix->Scale( 3, 2, MatrixOrder::Append );

      // Draw the rectangle to the screen again after applying the
      // transform.
      e->Graphics->Transform = myMatrix;
      e->Graphics->DrawRectangle( myPen2, 50, 50, 100, 100 );
   }
public void ScaleExample(PaintEventArgs e)
{
    Pen myPen = new Pen(Color.Blue, 1);
    Pen myPen2 = new Pen(Color.Red, 1);
             
    // Draw the rectangle to the screen before applying the
    // transform.
    e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100);
             
    // Create a matrix and scale it.
    Matrix myMatrix = new Matrix();
    myMatrix.Scale(3, 2, MatrixOrder.Append);
             
    // Draw the rectangle to the screen again after applying the
    // transform.
    e.Graphics.Transform = myMatrix;
    e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100);
}
Public Sub ScaleExample(ByVal e As PaintEventArgs)
    Dim myPen As New Pen(Color.Blue, 1)
    Dim myPen2 As New Pen(Color.Red, 1)

    ' Draw the rectangle to the screen before applying the
    ' transform.
    e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100)

    ' Create a matrix and scale it.
    Dim myMatrix As New Matrix
    myMatrix.Scale(3, 2, MatrixOrder.Append)

    ' Draw the rectangle to the screen again after applying the
    ' transform.
    e.Graphics.Transform = myMatrix
    e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100)
End Sub

S’applique à