Graphics.ScaleTransform Método

Definição

Aplica a operação de colocação em escala especificada à matriz de transformação desse Graphics precedendo-a à matriz de transformação do objeto.

Sobrecargas

ScaleTransform(Single, Single)

Aplica a operação de colocação em escala especificada à matriz de transformação desse Graphics precedendo-a à matriz de transformação do objeto.

ScaleTransform(Single, Single, MatrixOrder)

Aplica a operação de colocação em escala especificada à matriz de transformação desse Graphics na ordem especificada.

ScaleTransform(Single, Single)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Aplica a operação de colocação em escala especificada à matriz de transformação desse Graphics precedendo-a à matriz de transformação do objeto.

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)

Parâmetros

sx
Single

Fator de escala na direção x.

sy
Single

Fator de escala na direção y.

Exemplos

O exemplo de código a seguir foi projetado para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do Paint manipulador de eventos. O código executa as seguintes ações:

  • Gira a matriz de transformação do mundo do Windows Form em 30 graus.

  • Dimensiona essa matriz por um fator de 3 na direção x e um fator de 1 na direção y, acrescentando a transformação de dimensionamento.

  • Desenha um retângulo escalado e girado com uma caneta azul.

O resultado ainda é um retângulo.

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

Comentários

A operação de dimensionamento consiste em multiplicar a matriz de transformação por uma matriz diagonal cujos elementos são (sx, sy, 1). Esse método prepara a matriz de transformação do Graphics pela matriz de dimensionamento.

Aplica-se a

ScaleTransform(Single, Single, MatrixOrder)

Origem:
Graphics.cs
Origem:
Graphics.cs
Origem:
Graphics.cs

Aplica a operação de colocação em escala especificada à matriz de transformação desse Graphics na ordem especificada.

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)

Parâmetros

sx
Single

Fator de escala na direção x.

sy
Single

Fator de escala na direção y.

order
MatrixOrder

Membro da enumeração MatrixOrder que especifica se a operação de colocação em escala precede ou é acrescentada à matriz de transformação.

Exemplos

O exemplo de código a seguir foi projetado para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do Paint manipulador de eventos. O código executa as seguintes ações:

  • Gira a matriz de transformação do mundo do Windows Form em 30 graus.

  • Dimensiona essa matriz por um fator de 3 na direção x e um fator de 1 na direção y acrescentando a transformação de dimensionamento com o Append membro.

  • Desenha um retângulo girado e dimensionado com uma caneta azul.

O resultado é um paralelismo.

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

Comentários

A operação de dimensionamento consiste em multiplicar a matriz de transformação por uma matriz diagonal cujos elementos são (sx, sy, 1). Esse método prepara ou acrescenta a matriz de transformação do Graphics pela matriz de dimensionamento de acordo com o order parâmetro .

Aplica-se a