Udostępnij za pośrednictwem


Graphics.ScaleTransform Metoda

Definicja

Stosuje określoną operację skalowania do macierzy transformacji tego Graphics przez wstępne dodawanie jej do macierzy przekształcania obiektu.

Przeciążenia

ScaleTransform(Single, Single)

Stosuje określoną operację skalowania do macierzy transformacji tego Graphics przez wstępne dodawanie jej do macierzy przekształcania obiektu.

ScaleTransform(Single, Single, MatrixOrder)

Stosuje określoną operację skalowania do macierzy transformacji tego Graphics w określonej kolejności.

ScaleTransform(Single, Single)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Stosuje określoną operację skalowania do macierzy transformacji tego Graphics przez wstępne dodawanie jej do macierzy 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 skali w kierunku y.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Obraca macierz transformacji świata formularza systemu Windows o 30 stopni.

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

  • Rysuje skalowany, obrócony prostokąt z 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 przekształcania Graphics przez macierz skalowania.

Dotyczy

ScaleTransform(Single, Single, MatrixOrder)

Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs
Źródło:
Graphics.cs

Stosuje określoną operację skalowania do macierzy transformacji tego Graphics 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 skali w kierunku y.

order
MatrixOrder

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

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  • Obraca macierz transformacji świata formularza systemu Windows o 30 stopni.

  • Skaluje macierz według współczynnika 3 w kierunku x i współczynnika 1 w kierunku y przez dołączenie przekształcenia skalowania z elementem członkowskim Append.

  • 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 przekształcania Graphics przez macierz skalowania zgodnie z parametrem order.

Dotyczy