Freigeben über


Matrix.Scale Methode

Definition

Wendet den angegebenen Skalierungsvektor auf diese Matrix an, indem der Skalierungsvektor voraussteht.

Überlädt

Scale(Single, Single)

Wendet den angegebenen Skalierungsvektor auf diese Matrix an, indem der Skalierungsvektor voraussteht.

Scale(Single, Single, MatrixOrder)

Wendet den angegebenen Skalierungsvektor (scaleX und scaleY) auf diese Matrix mithilfe der angegebenen Reihenfolge an.

Scale(Single, Single)

Quelle:
Matrix.cs
Quelle:
Matrix.cs
Quelle:
Matrix.cs
Quelle:
Matrix.cs
Quelle:
Matrix.cs

Wendet den angegebenen Skalierungsvektor auf diese Matrix an, indem der Skalierungsvektor voraussteht.

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, um den diese Matrix in x-Achsenrichtung skaliert werden soll.

scaleY
Single

Der Wert, um den dieser Matrix in richtung y-Achse skaliert werden soll.

Beispiele

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

Gilt für:

Scale(Single, Single, MatrixOrder)

Quelle:
Matrix.cs
Quelle:
Matrix.cs
Quelle:
Matrix.cs
Quelle:
Matrix.cs
Quelle:
Matrix.cs

Wendet den angegebenen Skalierungsvektor (scaleX und scaleY) auf diese Matrix mithilfe der angegebenen Reihenfolge an.

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, um den diese Matrix in x-Achsenrichtung skaliert werden soll.

scaleY
Single

Der Wert, um den dieser Matrix in richtung y-Achse skaliert werden soll.

order
MatrixOrder

Eine MatrixOrder, die die Reihenfolge (anfügen oder vorangestellt) angibt, in der der Skalierungsvektor auf diese Matrixangewendet wird.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, ein 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 auf der X-Achse und 2 auf 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 den Faktor 3 in der X-Achse und um 2 auf 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: