Matrix.Scale Methode

Definitie

Hiermee past u de opgegeven schaalvector toe Matrix door de schaalvector vooraf te laten gaan.

Overloads

Name Description
Scale(Single, Single)

Hiermee past u de opgegeven schaalvector toe Matrix door de schaalvector vooraf te laten gaan.

Scale(Single, Single, MatrixOrder)

Hiermee past u de opgegeven schaalvector (scaleX en scaleY) toe Matrix met behulp van de opgegeven volgorde.

Scale(Single, Single)

Hiermee past u de opgegeven schaalvector toe Matrix door de schaalvector vooraf te laten gaan.

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)

Parameters

scaleX
Single

De waarde waarmee dit Matrix moet worden geschaald in de richting van de x-as.

scaleY
Single

De waarde waarmee dit Matrix moet worden geschaald in de richting van de y-as.

Voorbeelden

Zie Scale(Single, Single, MatrixOrder)voor een voorbeeld.

Van toepassing op

Scale(Single, Single, MatrixOrder)

Hiermee past u de opgegeven schaalvector (scaleX en scaleY) toe Matrix met behulp van de opgegeven volgorde.

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)

Parameters

scaleX
Single

De waarde waarmee dit Matrix moet worden geschaald in de richting van de x-as.

scaleY
Single

De waarde waarmee dit Matrix moet worden geschaald in de richting van de y-as.

order
MatrixOrder

Een MatrixOrder die de volgorde (toevoeg of prepend) aangeeft waarin de schaalvector op dit Matrixwordt toegepast.

Voorbeelden

Het volgende codevoorbeeld is ontworpen voor gebruik met Windows Forms en vereist PaintEventArgse, een Paint-gebeurtenisobject. De code voert de volgende acties uit:

  • Hiermee tekent u een rechthoek op het scherm voordat u een schaaltransformatie (de blauwe rechthoek) toepast.

  • Hiermee maakt u een matrix en schaalt u deze met 3 op de x-as en 2 op de y-as.

  • Hiermee past u deze matrixtransformatie toe op de rechthoek.

  • Hiermee tekent u de getransformeerde rechthoek naar het scherm (de rode rechthoek).

U ziet dat de rode rechthoek is geschaald met een factor van 3 op de x-as en met 2 op de y-as, inclusief de linkerbovenhoek van de rechthoek (het beginpunt van de rechthoek).

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

Van toepassing op