Bagikan melalui


Graphics.ScaleTransform Metode

Definisi

Menerapkan operasi penskalaan yang ditentukan ke matriks transformasi ini Graphics dengan menambahkannya ke matriks transformasi objek.

Overload

ScaleTransform(Single, Single)

Menerapkan operasi penskalaan yang ditentukan ke matriks transformasi ini Graphics dengan menambahkannya ke matriks transformasi objek.

ScaleTransform(Single, Single, MatrixOrder)

Menerapkan operasi penskalaan yang ditentukan ke matriks transformasi ini Graphics dalam urutan yang ditentukan.

ScaleTransform(Single, Single)

Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs

Menerapkan operasi penskalaan yang ditentukan ke matriks transformasi ini Graphics dengan menambahkannya ke matriks transformasi objek.

public:
 void ScaleTransform(float sx, float sy);
public void ScaleTransform (float sx, float sy);
member this.ScaleTransform : single * single -> unit
Public Sub ScaleTransform (sx As Single, sy As Single)

Parameter

sx
Single

Faktor skala ke arah x.

sy
Single

Faktor skala ke arah y.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Formulir Windows, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan Paint aktivitas. Kode melakukan tindakan berikut:

  • Memutar matriks transformasi dunia Dari Formulir Windows sebesar 30 derajat.

  • Menskalakan matriks tersebut dengan faktor 3 ke arah x dan faktor 1 ke arah y dengan menambahkan transformasi penskalaan terlebih dahulu.

  • Menggambar persegi panjang berskala dan diputar dengan pena biru.

Hasilnya masih persegi panjang.

public:
   void ScaleTransformFloat( PaintEventArgs^ e )
   {
      // Set world transform of graphics object to rotate.
      e->Graphics->RotateTransform( 30.0F );

      // Then to scale, prepending to world transform.
      e->Graphics->ScaleTransform( 3.0F, 1.0F );

      // Draw scaled, rotated rectangle to screen.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Blue,3.0f ), 50, 0, 100, 40 );
   }
private void ScaleTransformFloat(PaintEventArgs e)
{

    // Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F);

    // Then to scale, prepending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F);

    // Draw scaled, rotated rectangle to screen.
    e.Graphics.DrawRectangle(new Pen(Color.Blue, 3), 50, 0, 100, 40);
}
Private Sub ScaleTransformFloat(ByVal e As PaintEventArgs)

    ' Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F)

    ' Then to scale, prepending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F)

    ' Draw scaled, rotated rectangle to screen.
    e.Graphics.DrawRectangle(New Pen(Color.Blue, 3), 50, 0, 100, 40)
End Sub

Keterangan

Operasi penskalaan terdiri dari mengalikan matriks transformasi dengan matriks diagonal yang elemennya adalah (sx, sy, 1). Metode ini menambahkan matriks transformasi dari Graphics oleh matriks penskalaan.

Berlaku untuk

ScaleTransform(Single, Single, MatrixOrder)

Sumber:
Graphics.cs
Sumber:
Graphics.cs
Sumber:
Graphics.cs

Menerapkan operasi penskalaan yang ditentukan ke matriks transformasi ini Graphics dalam urutan yang ditentukan.

public:
 void ScaleTransform(float sx, float sy, System::Drawing::Drawing2D::MatrixOrder order);
public void ScaleTransform (float sx, float sy, System.Drawing.Drawing2D.MatrixOrder order);
member this.ScaleTransform : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub ScaleTransform (sx As Single, sy As Single, order As MatrixOrder)

Parameter

sx
Single

Faktor skala ke arah x.

sy
Single

Faktor skala ke arah y.

order
MatrixOrder

Anggota MatrixOrder enumerasi yang menentukan apakah operasi penskalaan telah ditambahkan sebelumnya atau ditambahkan ke matriks transformasi.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Formulir Windows, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan Paint aktivitas. Kode melakukan tindakan berikut:

  • Memutar matriks transformasi dunia Dari Formulir Windows sebesar 30 derajat.

  • Menskalakan matriks tersebut dengan faktor 3 ke arah x dan faktor 1 ke arah y dengan menambahkan transformasi penskalaan dengan Append anggota.

  • Menggambar persegi panjang yang diputar dan diskalakan dengan pena biru.

Hasilnya adalah parallelogram.

public:
   void ScaleTransformFloatMatrixOrder( PaintEventArgs^ e )
   {
      // Set world transform of graphics object to rotate.
      e->Graphics->RotateTransform( 30.0F );

      // Then to scale, appending to world transform.
      e->Graphics->ScaleTransform( 3.0F, 1.0F, MatrixOrder::Append );

      // Draw rotated, scaled rectangle to screen.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Blue,3.0f ), 50, 0, 100, 40 );
   }
private void ScaleTransformFloatMatrixOrder(PaintEventArgs e)
{

    // Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F);

    // Then to scale, appending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F, MatrixOrder.Append);

    // Draw rotated, scaled rectangle to screen.
    e.Graphics.DrawRectangle(new Pen(Color.Blue, 3), 50, 0, 100, 40);
}
Private Sub ScaleTransformFloatMatrixOrder(ByVal e As PaintEventArgs)

    ' Set world transform of graphics object to rotate.
    e.Graphics.RotateTransform(30.0F)

    ' Then to scale, appending to world transform.
    e.Graphics.ScaleTransform(3.0F, 1.0F, MatrixOrder.Append)

    ' Draw rotated, scaled rectangle to screen.
    e.Graphics.DrawRectangle(New Pen(Color.Blue, 3), 50, 0, 100, 40)
End Sub

Keterangan

Operasi penskalaan terdiri dari mengalikan matriks transformasi dengan matriks diagonal yang elemennya adalah (sx, sy, 1). Metode ini menambahkan atau menambahkan matriks transformasi dari Graphics oleh matriks penskalaan sesuai dengan order parameter .

Berlaku untuk