Graphics.ScaleTransform Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Применяет указанную операцию масштабирования к матрице преобразования этой Graphics путем его подготовки к матрице преобразования объекта.
Перегрузки
ScaleTransform(Single, Single) |
Применяет указанную операцию масштабирования к матрице преобразования этой Graphics путем его подготовки к матрице преобразования объекта. |
ScaleTransform(Single, Single, MatrixOrder) |
Применяет указанную операцию масштабирования к матрице преобразования этого Graphics в указанном порядке. |
ScaleTransform(Single, Single)
- Исходный код:
- Graphics.cs
- Исходный код:
- Graphics.cs
- Исходный код:
- 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.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
.