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
.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по