Graphics.ScaleTransform Metoda

Definicja

Stosuje określoną operację skalowania do macierzy przekształceń tej Graphics funkcji, poprzedzając ją macierzą przekształcania obiektu.

Przeciążenia

ScaleTransform(Single, Single)

Stosuje określoną operację skalowania do macierzy przekształceń tej Graphics funkcji, poprzedzając ją macierzą przekształcania obiektu.

ScaleTransform(Single, Single, MatrixOrder)

Stosuje określoną operację skalowania do macierzy przekształceń tej Graphics funkcji w określonej kolejności.

ScaleTransform(Single, Single)

Stosuje określoną operację skalowania do macierzy przekształceń tej Graphics funkcji, poprzedzając ją macierzą przekształcania obiektu.

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)

Parametry

sx
Single

Współczynnik skalowania w kierunku x.

sy
Single

Współczynnik skalowania w kierunku y.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgs eparametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:

  • Obraca macierz transformacji świata Windows Form o 30 stopni.

  • Skaluje ten macierz przez współczynnik 3 w kierunku x i współczynnik 1 w kierunku y przez wstępne przekształcenie skalowania.

  • Rysuje skalowany, obrócony prostokąt niebieskim piórem.

Wynik jest nadal prostokątem.

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

Uwagi

Operacja skalowania składa się z mnożenia macierzy transformacji przez macierz ukośną, której elementy to (sx, sy, 1). Ta metoda poprzedza macierz Graphics przekształcania obiektu przez macierz skalowania.

Dotyczy

ScaleTransform(Single, Single, MatrixOrder)

Stosuje określoną operację skalowania do macierzy przekształceń tej Graphics funkcji w określonej kolejności.

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)

Parametry

sx
Single

Współczynnik skalowania w kierunku x.

sy
Single

Współczynnik skalowania w kierunku y.

order
MatrixOrder

Element członkowski MatrixOrder wyliczenia, który określa, czy operacja skalowania jest poprzedzana, czy dołączana do macierzy przekształceń.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgs eparametru Paint programu obsługi zdarzeń. Kod wykonuje następujące akcje:

  • Obraca macierz transformacji świata Windows Form o 30 stopni.

  • Skaluje ten macierz przez współczynnik 3 w kierunku x i współczynnik 1 w kierunku y przez dołączenie przekształcenia skalowania do elementu Append członkowskiego.

  • Rysuje obrócony, skalowany prostokąt z niebieskim piórem.

Wynikiem jest równoległyogram.

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

Uwagi

Operacja skalowania składa się z mnożenia macierzy transformacji przez macierz ukośną, której elementy to (sx, sy, 1). Ta metoda poprzedza lub dołącza macierz Graphics przekształcania przez macierz skalowania zgodnie z parametrem order .

Dotyczy