Graphics.ScaleTransform Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
.