Graphics.ScaleTransform Método

Definição

Aplica a operação de escalonamento especificada à matriz de transformação deste Graphics ao prependê-la na matriz de transformação do objeto.

Sobrecargas

Name Description
ScaleTransform(Single, Single)

Aplica a operação de escalonamento especificada à matriz de transformação deste Graphics ao prependê-la na matriz de transformação do objeto.

ScaleTransform(Single, Single, MatrixOrder)

Aplica a operação de escalonamento especificada à matriz de transformação desta Graphics na ordem especificada.

ScaleTransform(Single, Single)

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

Aplica a operação de escalonamento especificada à matriz de transformação deste Graphics ao prependê-la na 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 seguinte exemplo de código foi concebido para uso com Windows Forms e requer PaintEventArgse, que é um parâmetro do tratador de eventos Paint. O código executa as seguintes ações:

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

  • Escala essa matriz por um fator de 3 na direção x e um fator de 1 na direção y, antecedendo a transformação de escala.

  • Desenha um retângulo escamado e rodado com uma caneta azul.

O resultado continua a ser 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

Observações

A operação de escalonamento consiste em multiplicar a matriz de transformação por uma matriz diagonal cujos elementos são (sx, sy, 1). Este método antepõe a matriz de transformação de por Graphics pela matriz de escalamento.

Aplica-se a

ScaleTransform(Single, Single, MatrixOrder)

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

Aplica a operação de escalonamento especificada à matriz de transformação desta 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 MatrixOrder enumeração que especifica se a operação de escalonamento é anteposta ou anexada à matriz de transformação.

Exemplos

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

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

  • Escala essa matriz por um fator de 3 na direção x e um fator de 1 na direção y ao adicionar a transformação de escala ao Append elemento.

  • Desenha um retângulo rodado e em escala com uma caneta azul.

O resultado é um paralelogramo.

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

Observações

A operação de escalonamento consiste em multiplicar a matriz de transformação por uma matriz diagonal cujos elementos são (sx, sy, 1). Este método antepõe ou acrescenta a matriz de transformação do Graphics por a matriz de escala de acordo com o order parâmetro.

Aplica-se a