Graphics.ScaleTransform Método

Definición

Aplica la operación de escalado especificada a la matriz de transformación de esto Graphics prepending it a la matriz de transformación del objeto.

Sobrecargas

Nombre Description
ScaleTransform(Single, Single)

Aplica la operación de escalado especificada a la matriz de transformación de esto Graphics prepending it a la matriz de transformación del objeto.

ScaleTransform(Single, Single, MatrixOrder)

Aplica la operación de escalado especificada a la matriz de transformación de esto Graphics en el orden especificado.

ScaleTransform(Single, Single)

Aplica la operación de escalado especificada a la matriz de transformación de esto Graphics prepending it a la matriz de transformación del 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

Factor de escala en la dirección x.

sy
Single

Factor de escala en la dirección y.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del controlador de eventos Paint. El código realiza las siguientes acciones:

  • Gira la matriz de transformación del mundo del Windows Formulario en 30 grados.

  • Escala esa matriz por un factor de 3 en la dirección x y un factor de 1 en la dirección y prepending la transformación de escalado.

  • Dibuja un rectángulo escalado girado con un lápiz azul.

El resultado sigue siendo un rectá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

Comentarios

La operación de escalado consta de multiplicar la matriz de transformación por una matriz diagonal cuyos elementos son (sx, , sy1). Este método antepone la matriz de transformación de por la matriz de Graphics escalado.

Se aplica a

ScaleTransform(Single, Single, MatrixOrder)

Aplica la operación de escalado especificada a la matriz de transformación de esto Graphics en el orden especificado.

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

Factor de escala en la dirección x.

sy
Single

Factor de escala en la dirección y.

order
MatrixOrder

Miembro de la MatrixOrder enumeración que especifica si la operación de escalado se antepone o anexa a la matriz de transformación.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, que es un parámetro del controlador de eventos Paint. El código realiza las siguientes acciones:

  • Gira la matriz de transformación del mundo del Windows Formulario en 30 grados.

  • Escala esa matriz por un factor de 3 en la dirección x y un factor de 1 en la dirección y anexando la transformación de escalado con el Append miembro.

  • Dibuja un rectángulo girado y escalado con un lápiz azul.

El resultado es un 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

Comentarios

La operación de escalado consta de multiplicar la matriz de transformación por una matriz diagonal cuyos elementos son (sx, , sy1). Este método antepone o anexa la matriz de transformación de por la matriz de Graphics escalado según el order parámetro .

Se aplica a