Graphics.ScaleTransform Método

Definición

Aplica la operación de cambio de escala especificada a la matriz de transformación de este Graphics, anteponiéndola a esta última.

Sobrecargas

ScaleTransform(Single, Single)

Aplica la operación de cambio de escala especificada a la matriz de transformación de este Graphics, anteponiéndola a esta última.

ScaleTransform(Single, Single, MatrixOrder)

Aplica la operación de cambio de escala especificada a la matriz de transformación de este Graphics en el orden que se establece.

ScaleTransform(Single, Single)

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

Aplica la operación de cambio de escala especificada a la matriz de transformación de este Graphics, anteponiéndola a esta última.

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 Paint controlador de eventos. El código realiza las siguientes acciones:

  • Gira la matriz de transformación del mundo 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, , sy1). Este método antepone la matriz de transformación de Graphics por la matriz de escalado.

Se aplica a

ScaleTransform(Single, Single, MatrixOrder)

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

Aplica la operación de cambio de escala especificada a la matriz de transformación de este Graphics en el orden que se establece.

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 transformación de escala se agrega o antepone 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 Paint controlador de eventos. El código realiza las siguientes acciones:

  • Gira la matriz de transformación del mundo 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 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 Graphics por la matriz de escalado según el order parámetro .

Se aplica a