Bagikan melalui


Graphics.ScaleTransform Metode

Definisi

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

Overload

ScaleTransform(Single, Single)

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

ScaleTransform(Single, Single, MatrixOrder)

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

ScaleTransform(Single, Single)

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

Menerapkan operasi penskalaan yang ditentukan ke matriks transformasi Graphics ini 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 Windows Forms, dan memerlukan PaintEventArgse, yang merupakan parameter penanganan aktivitas Paint. Kode melakukan tindakan berikut:

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

  • Menskalakan matriks itu dengan faktor 3 ke arah x dan faktor 1 ke arah y dengan prepending transformasi penskalaan.

  • Menggambar persegi panjang yang diskalakan 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 menangguhkan matriks transformasi Graphics oleh matriks penskalaan.

Berlaku untuk

ScaleTransform(Single, Single, MatrixOrder)

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

Menerapkan operasi penskalaan yang ditentukan ke matriks transformasi Graphics ini 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 enumerasi MatrixOrder yang menentukan apakah operasi penskalaan telah diawali atau ditambahkan ke matriks transformasi.

Contoh

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

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

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

  • 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 Graphics oleh matriks penskalaan sesuai dengan parameter order.

Berlaku untuk