Graphics.ScaleTransform Метод

Определение

Применяет указанную операцию масштабирования к матрице преобразования данного объекта Graphics путем ее добавления перед матрицей преобразования объекта.

Перегрузки

ScaleTransform(Single, Single)

Применяет указанную операцию масштабирования к матрице преобразования данного объекта Graphics путем ее добавления перед матрицей преобразования объекта.

ScaleTransform(Single, Single, MatrixOrder)

Применяет заданную операцию масштабирования к матрице преобразования данного объекта Graphics в указанном порядке.

ScaleTransform(Single, Single)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Применяет указанную операцию масштабирования к матрице преобразования данного объекта Graphics путем ее добавления перед матрицей преобразования объекта.

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

Коэффициент масштабирования по оси X.

sy
Single

Коэффициент масштабирования по оси Y.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика Paint событий. Код выполняет следующие действия.

  • Поворачивает матрицу преобразования мира Windows Form на 30 градусов.

  • Масштабирует матрицу с коэффициентом 3 в направлении x и коэффициентом 1 в направлении y путем добавления преобразования масштабирования.

  • Рисует масштабируемый повернутый прямоугольник с помощью синего пера.

Результатом по-прежнему будет прямоугольник.

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). Этот метод добавляет матрицу преобразования к матрице Graphics масштабирования.

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

ScaleTransform(Single, Single, MatrixOrder)

Исходный код:
Graphics.cs
Исходный код:
Graphics.cs
Исходный код:
Graphics.cs

Применяет заданную операцию масштабирования к матрице преобразования данного объекта Graphics в указанном порядке.

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

Коэффициент масштабирования по оси X.

sy
Single

Коэффициент масштабирования по оси Y.

order
MatrixOrder

Элемент перечисления MatrixOrder, указывающий порядок добавления операции масштабирования: перед матрицей преобразования или после нее.

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика Paint событий. Код выполняет следующие действия.

  • Поворачивает матрицу преобразования мира Windows Form на 30 градусов.

  • Масштабирует матрицу с коэффициентом 3 в направлении x и коэффициентом 1 в направлении y путем добавления преобразования масштабирования к члену Append .

  • Рисует повернутый масштабированный прямоугольник с помощью синего пера.

Результатом является параллелограмм.

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). Этот метод добавляет матрицу преобразования Graphics к матрице масштабирования или добавляет ее в соответствии с параметром order .

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