Graphics.ScaleTransform Graphics.ScaleTransform Graphics.ScaleTransform Graphics.ScaleTransform Method

Определение

Применяет указанную операцию масштабирования к матрице преобразования данного объекта Graphics путем ее добавления к матрице преобразования объекта.Applies the specified scaling operation to the transformation matrix of this Graphics by prepending it to the object's transformation matrix.

Перегрузки

ScaleTransform(Single, Single) ScaleTransform(Single, Single) ScaleTransform(Single, Single) ScaleTransform(Single, Single)

Применяет указанную операцию масштабирования к матрице преобразования данного объекта Graphics путем ее добавления к матрице преобразования объекта.Applies the specified scaling operation to the transformation matrix of this Graphics by prepending it to the object's transformation matrix.

ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder)

Применяет заданную операцию масштабирования к матрице преобразования данного объекта Graphics в указанном порядке.Applies the specified scaling operation to the transformation matrix of this Graphics in the specified order.

ScaleTransform(Single, Single) ScaleTransform(Single, Single) ScaleTransform(Single, Single) ScaleTransform(Single, Single)

Применяет указанную операцию масштабирования к матрице преобразования данного объекта Graphics путем ее добавления к матрице преобразования объекта.Applies the specified scaling operation to the transformation matrix of this Graphics by prepending it to the object's transformation matrix.

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)

Параметры

sx
Single Single Single Single

Коэффициент масштабирования по оси X.Scale factor in the x direction.

sy
Single Single Single Single

Коэффициент масштабирования по оси Y.Scale factor in the y direction.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e, что Paint является параметром обработчика событий.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Код выполняет следующие действия.The code performs the following actions:

  • Поворачивает матрицу универсального преобразования Windows Form на 30 градусов.Rotates the world transformation matrix of the Windows Form by 30 degrees.

  • Масштабирует эту матрицу с коэффициентом 3 в направлении x и коэффициентом 1 в направлении по оси y, добавляя преобразование масштабирования.Scales that matrix by a factor of 3 in the x direction and a factor of 1 in the y direction by prepending the scaling transformation.

  • Рисует масштабированный, повернутый прямоугольник с помощью синего пера.Draws a scaled, rotated rectangle with a blue pen.

Результат по-прежнему является прямоугольником.The result is still a rectangle.

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

Комментарии

Операция масштабирования состоит из умножения матрицы преобразования на диагональную матрицу, элементы которой равныsx( sy,, 1).The scaling operation consists of multiplying the transformation matrix by a diagonal matrix whose elements are (sx, sy, 1). Этот метод добавляет матрицу преобразования объекта в Graphics начало матрицы масштабирования.This method prepends the transformation matrix of the Graphics by the scaling matrix.

ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder) ScaleTransform(Single, Single, MatrixOrder)

Применяет заданную операцию масштабирования к матрице преобразования данного объекта Graphics в указанном порядке.Applies the specified scaling operation to the transformation matrix of this Graphics in the specified order.

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)

Параметры

sx
Single Single Single Single

Коэффициент масштабирования по оси X.Scale factor in the x direction.

sy
Single Single Single Single

Коэффициент масштабирования по оси Y.Scale factor in the y direction.

order
MatrixOrder MatrixOrder MatrixOrder MatrixOrder

Член перечисления MatrixOrder, указывающий порядок добавления операции масштабирования к матрице преобразования: обычный или обратный.Member of the MatrixOrder enumeration that specifies whether the scaling operation is prepended or appended to the transformation matrix.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgs e, что Paint является параметром обработчика событий.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. Код выполняет следующие действия.The code performs the following actions:

  • Поворачивает матрицу универсального преобразования Windows Form на 30 градусов.Rotates the world transformation matrix of the Windows Form by 30 degrees.

  • Масштабирует эту матрицу с коэффициентом 3 в направлении x и коэффициентом 1 в направлении y, добавляя преобразование масштабирования к Append элементу.Scales that matrix by a factor of 3 in the x direction and a factor of 1 in the y direction by appending the scaling transformation with the Append member.

  • Рисует повернутый, масштабируемый прямоугольник с помощью синего пера.Draws a rotated, scaled rectangle with a blue pen.

Результатом является параллелограмм.The result is a parallelogram.

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

Комментарии

Операция масштабирования состоит из умножения матрицы преобразования на диагональную матрицу, элементы которой равныsx( sy,, 1).The scaling operation consists of multiplying the transformation matrix by a diagonal matrix whose elements are (sx, sy, 1). Этот метод добавляет матрицу преобразования объекта в Graphics конец или добавляет ее матрицу масштабирования в соответствии order с параметром.This method prepends or appends the transformation matrix of the Graphics by the scaling matrix according to the order parameter.

Применяется к