Compartir a través de


Graphics.ScaleTransform Método

Definición

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

Sobrecargas

ScaleTransform(Single, Single)

Aplica la operación de escalado especificada a la matriz de transformación de este 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 este Graphics en el orden especificado.

ScaleTransform(Single, Single)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Aplica la operación de escalado especificada a la matriz de transformación de este 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 mundial de Windows Form 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, sy, 1). Este método antepone la matriz de transformación de la Graphics por la matriz de escalado.

Se aplica a

ScaleTransform(Single, Single, MatrixOrder)

Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs
Source:
Graphics.cs

Aplica la operación de escalado especificada a la matriz de transformación de este 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 enumeración MatrixOrder 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 mundial de Windows Form 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 miembro Append.

  • 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, sy, 1). Este método antepone o anexa la matriz de transformación del Graphics mediante la matriz de escalado según el parámetro order.

Se aplica a