Bagikan melalui


Matrix.Scale Metode

Definisi

Menerapkan vektor skala yang ditentukan untuk ini Matrix dengan menambahkan vektor skala sebelumnya.

Overload

Scale(Single, Single)

Menerapkan vektor skala yang ditentukan untuk ini Matrix dengan menambahkan vektor skala sebelumnya.

Scale(Single, Single, MatrixOrder)

Menerapkan vektor skala yang ditentukan (scaleX dan scaleY) ke ini Matrix menggunakan urutan yang ditentukan.

Scale(Single, Single)

Sumber:
Matrix.cs
Sumber:
Matrix.cs
Sumber:
Matrix.cs

Menerapkan vektor skala yang ditentukan untuk ini Matrix dengan menambahkan vektor skala sebelumnya.

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

Nilai untuk menskalakan ini Matrix ke arah sumbu x.

scaleY
Single

Nilai untuk menskalakan ini Matrix ke arah sumbu y.

Contoh

Misalnya, lihat Scale(Single, Single, MatrixOrder).

Berlaku untuk

Scale(Single, Single, MatrixOrder)

Sumber:
Matrix.cs
Sumber:
Matrix.cs
Sumber:
Matrix.cs

Menerapkan vektor skala yang ditentukan (scaleX dan scaleY) ke ini Matrix menggunakan urutan yang ditentukan.

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

Nilai untuk menskalakan ini Matrix ke arah sumbu x.

scaleY
Single

Nilai untuk menskalakan ini Matrix ke arah sumbu y.

order
MatrixOrder

MatrixOrder yang menentukan urutan (penambahan atau prepend) di mana vektor skala diterapkan ke ini Matrix.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Formulir Windows, dan memerlukan PaintEventArgse, Paint objek peristiwa. Kode melakukan tindakan berikut:

  • Menggambar persegi panjang ke layar sebelum menerapkan transformasi penskalakan (persegi biru).

  • Membuat matriks dan menskalakannya sebesar 3 di sumbu x dan 2 di sumbu y.

  • Menerapkan transformasi matriks ini ke persegi panjang.

  • Menggambar persegi panjang yang diubah ke layar (persegi panjang merah).

Perhatikan bahwa persegi panjang merah telah diskalakan oleh faktor 3 dalam sumbu x dan sebesar 2 di sumbu y, termasuk sudut kiri atas persegi panjang (titik awal persegi panjang).

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

Berlaku untuk