Matrix.Scale Methode

Definition

Weist den angegebenen Skalierungsvektor dieser Matrix zu, wobei der Skalierungsvektor vorangestellt wird.

Überlädt

Scale(Single, Single)

Weist den angegebenen Skalierungsvektor dieser Matrix zu, wobei der Skalierungsvektor vorangestellt wird.

Scale(Single, Single, MatrixOrder)

Weist den angegebenen Skalierungsvektor (scaleX und scaleY) der Matrix in der angegebenen Reihenfolge zu.

Scale(Single, Single)

Weist den angegebenen Skalierungsvektor dieser Matrix zu, wobei der Skalierungsvektor vorangestellt wird.

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)

Parameter

scaleX
Single

Der Wert für die Skalierung dieser Matrix in Richtung der x-Achse.

scaleY
Single

Der Wert für die Skalierung dieser Matrix in Richtung der y-Achse.

Beispiele

Ein Beispiel finden Sie unter Scale(Single, Single, MatrixOrder).

Gilt für:

Scale(Single, Single, MatrixOrder)

Weist den angegebenen Skalierungsvektor (scaleX und scaleY) der Matrix in der angegebenen Reihenfolge zu.

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)

Parameter

scaleX
Single

Der Wert für die Skalierung dieser Matrix in Richtung der x-Achse.

scaleY
Single

Der Wert für die Skalierung dieser Matrix in Richtung der y-Achse.

order
MatrixOrder

Eine MatrixOrder, die die Reihenfolge angibt (angefügt oder vorangestellt), in der der Skalierungsvektor der Matrix zugewiesen wird.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgs eein Paint Ereignisobjekt. Der Code führt die folgenden Aktionen aus:

  • Zeichnet ein Rechteck vor dem Anwenden einer Skalierungstransformation (das blaue Rechteck) auf den Bildschirm.

  • Erstellt eine Matrix und skaliert sie um 3 in der x-Achse und 2 in der y-Achse.

  • Wendet diese Matrixtransformation auf das Rechteck an.

  • Zeichnet das transformierte Rechteck auf den Bildschirm (das rote Rechteck).

Beachten Sie, dass das rote Rechteck um einen Faktor von 3 in der x-Achse und um 2 in der y-Achse skaliert wurde, einschließlich der oberen linken Ecke des Rechtecks (der Anfangspunkt des Rechtecks).

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

Gilt für: