Matrix.Scale Метод

Определение

Применяет указанный вектор масштабирования к этому объекту Matrix, добавляя вектор масштабирования в начало.

Перегрузки

Scale(Single, Single)

Применяет указанный вектор масштабирования к этому объекту Matrix, добавляя вектор масштабирования в начало.

Scale(Single, Single, MatrixOrder)

Применяет указанный вектор масштабирования (scaleX и scaleY) к этому объекту Matrix в указанном порядке.

Scale(Single, Single)

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

Применяет указанный вектор масштабирования к этому объекту Matrix, добавляя вектор масштабирования в начало.

public:
 void Scale(float scaleX, float scaleY);
public void Scale (float scaleX, float scaleY);
member this.Scale : single * single -> unit
Public Sub Scale (scaleX As Single, scaleY As Single)

Параметры

scaleX
Single

Коэффициент изменения масштаба объекта Matrix вдоль оси Х.

scaleY
Single

Коэффициент изменения масштаба объекта Matrix вдоль оси Y.

Примеры

Пример см. в разделе Scale(Single, Single, MatrixOrder).

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

Scale(Single, Single, MatrixOrder)

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

Применяет указанный вектор масштабирования (scaleX и scaleY) к этому объекту Matrix в указанном порядке.

public:
 void Scale(float scaleX, float scaleY, System::Drawing::Drawing2D::MatrixOrder order);
public void Scale (float scaleX, float scaleY, System.Drawing.Drawing2D.MatrixOrder order);
member this.Scale : single * single * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub Scale (scaleX As Single, scaleY As Single, order As MatrixOrder)

Параметры

scaleX
Single

Коэффициент изменения масштаба объекта Matrix вдоль оси Х.

scaleY
Single

Коэффициент изменения масштаба объекта Matrix вдоль оси Y.

order
MatrixOrder

Объект MatrixOrder, задающий порядок (в конце или в начале), в котором применяется вектор масштабирования к этому объекту Matrix.

Примеры

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

  • Рисует прямоугольник на экране перед применением преобразования масштабирования (синий прямоугольник).

  • Создает матрицу и масштабирует ее на 3 по оси X и 2 на оси Y.

  • Применяет это преобразование матрицы к прямоугольнику.

  • Рисует преобразованный прямоугольник на экране (красный прямоугольник).

Обратите внимание, что красный прямоугольник был масштабирован на 3 коэффициента по оси X и на 2 на оси Y, включая верхний левый угол прямоугольника (начальная точка прямоугольника).

public:
   void ScaleExample( PaintEventArgs^ e )
   {
      Pen^ myPen = gcnew Pen( Color::Blue,1.0f );
      Pen^ myPen2 = gcnew Pen( Color::Red,1.0f );

      // Draw the rectangle to the screen before applying the
      // transform.
      e->Graphics->DrawRectangle( myPen, 50, 50, 100, 100 );

      // Create a matrix and scale it.
      Matrix^ myMatrix = gcnew Matrix;
      myMatrix->Scale( 3, 2, MatrixOrder::Append );

      // Draw the rectangle to the screen again after applying the
      // transform.
      e->Graphics->Transform = myMatrix;
      e->Graphics->DrawRectangle( myPen2, 50, 50, 100, 100 );
   }
public void ScaleExample(PaintEventArgs e)
{
    Pen myPen = new Pen(Color.Blue, 1);
    Pen myPen2 = new Pen(Color.Red, 1);
             
    // Draw the rectangle to the screen before applying the
    // transform.
    e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100);
             
    // Create a matrix and scale it.
    Matrix myMatrix = new Matrix();
    myMatrix.Scale(3, 2, MatrixOrder.Append);
             
    // Draw the rectangle to the screen again after applying the
    // transform.
    e.Graphics.Transform = myMatrix;
    e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100);
}
Public Sub ScaleExample(ByVal e As PaintEventArgs)
    Dim myPen As New Pen(Color.Blue, 1)
    Dim myPen2 As New Pen(Color.Red, 1)

    ' Draw the rectangle to the screen before applying the
    ' transform.
    e.Graphics.DrawRectangle(myPen, 50, 50, 100, 100)

    ' Create a matrix and scale it.
    Dim myMatrix As New Matrix
    myMatrix.Scale(3, 2, MatrixOrder.Append)

    ' Draw the rectangle to the screen again after applying the
    ' transform.
    e.Graphics.Transform = myMatrix
    e.Graphics.DrawRectangle(myPen2, 50, 50, 100, 100)
End Sub

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