Matrix.Scale Metoda

Definicja

Stosuje określony wektor skali do tego Matrix , w zależności od wektora skali.Applies the specified scale vector to this Matrix by prepending the scale vector.

Przeciążenia

Scale(Single, Single)

Stosuje określony wektor skali do tego Matrix , w zależności od wektora skali.Applies the specified scale vector to this Matrix by prepending the scale vector.

Scale(Single, Single, MatrixOrder)

Stosuje określony wektor skali ( scaleX i scaleY ) do tego Matrix przy użyciu określonej kolejności.Applies the specified scale vector (scaleX and scaleY) to this Matrix using the specified order.

Scale(Single, Single)

Stosuje określony wektor skali do tego Matrix , w zależności od wektora skali.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)

Parametry

scaleX
Single

Wartość, według której ma być skalowane Matrix w kierunku osi x.The value by which to scale this Matrix in the x-axis direction.

scaleY
Single

Wartość, według której ma być skalowane Matrix w kierunku osi y.The value by which to scale this Matrix in the y-axis direction.

Przykłady

Aby zapoznać się z przykładem, zobacz Scale(Single, Single, MatrixOrder) .For an example, see Scale(Single, Single, MatrixOrder).

Dotyczy

Scale(Single, Single, MatrixOrder)

Stosuje określony wektor skali ( scaleX i scaleY ) do tego Matrix przy użyciu określonej kolejności.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)

Parametry

scaleX
Single

Wartość, według której ma być skalowane Matrix w kierunku osi x.The value by which to scale this Matrix in the x-axis direction.

scaleY
Single

Wartość, według której ma być skalowane Matrix w kierunku osi y.The value by which to scale this Matrix in the y-axis direction.

order
MatrixOrder

A MatrixOrder określa kolejność (dołączanie lub łączenie), do której jest stosowany wektor skali Matrix .A MatrixOrder that specifies the order (append or prepend) in which the scale vector is applied to this Matrix.

Przykłady

Poniższy przykład kodu jest przeznaczony do użytku z Windows Forms i wymaga PaintEventArgs e Paint obiektu zdarzenia.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an Paint event object. Kod wykonuje następujące czynności:The code performs the following actions:

  • Rysuje prostokąt na ekranie przed zastosowaniem transformacji skalowania (niebieskim prostokątem).Draws a rectangle to the screen prior to applying a scaling transform (the blue rectangle).

  • Tworzy macierz i skaluje ją przez 3 na osi x i 2 w osi y.Creates a matrix and scales it by 3 in the x-axis and 2 in the y-axis.

  • Stosuje to przekształcenie macierzy do prostokąta.Applies this matrix transform to the rectangle.

  • Rysuje przekształcony prostokąt do ekranu (czerwony prostokąt).Draws the transformed rectangle to the screen (the red rectangle).

Zwróć uwagę, że czerwony prostokąt został przeskalowany przez współczynnik 3 na osi x i 2 w osi y, w tym górny róg prostokąta (punkt początkowy prostokąta).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

Dotyczy