Graphics.MultiplyTransform Метод

Определение

Умножает мировое преобразование данного объекта Graphics на указываемый объект Matrix.Multiplies the world transformation of this Graphics and specified the Matrix.

Перегрузки

MultiplyTransform(Matrix)

Умножает мировое преобразование данного объекта Graphics на указываемый объект Matrix.Multiplies the world transformation of this Graphics and specified the Matrix.

MultiplyTransform(Matrix, MatrixOrder)

Умножает мировое преобразование данного объекта Graphics на указываемый объект Matrix в заданном порядке.Multiplies the world transformation of this Graphics and specified the Matrix in the specified order.

MultiplyTransform(Matrix)

Умножает мировое преобразование данного объекта Graphics на указываемый объект Matrix.Multiplies the world transformation of this Graphics and specified the Matrix.

public:
 void MultiplyTransform(System::Drawing::Drawing2D::Matrix ^ matrix);
public void MultiplyTransform (System.Drawing.Drawing2D.Matrix matrix);
member this.MultiplyTransform : System.Drawing.Drawing2D.Matrix -> unit
Public Sub MultiplyTransform (matrix As Matrix)

Параметры

matrix
Matrix

Матрица Matrix 4x4, на которую умножается мировое преобразование.4x4 Matrix that multiplies the world transformation.

Примеры

Следующий пример кода предназначен для использования с 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:

  • Создает transformMatrix матрицу (две две матрицы идентификации плюс вектор нулевого смещения).Creates a transformMatrix matrix (a two by two identity matrix plus a zero-translation vector).

  • Преобразует матрицу преобразования в вектор (200, 100).Translates the transform matrix by a vector (200, 100).

  • Поворачивает матрицу универсального преобразования Windows Form на 30 градусов, добавляет матрицу вращения на 30 градусов в матрицу преобразования формы.Rotates the world transformation matrix of the Windows Form by 30 degrees, prepends the rotation matrix for 30 degrees to the form's transformation matrix.

  • Умножает повернутую матрицу универсального преобразования на переведенный transformMatrix и добавляет transformMatrix к матрице универсального преобразования.Multiplies the rotated world transformation matrix by the translated transformMatrix, and prepends the transformMatrix to the world transformation matrix.

  • Рисует повернутый, преобразованный эллипс.Draws a rotated, translated ellipse.

public:
   void MultiplyTransformMatrix( PaintEventArgs^ e )
   {
      // Create transform matrix.
      Matrix^ transformMatrix = gcnew Matrix;

      // Translate matrix, prepending translation vector.
      transformMatrix->Translate( 200.0F, 100.0F );

      // Rotate transformation matrix of graphics object,
      // prepending rotation matrix.
      e->Graphics->RotateTransform( 30.0F );

      // Multiply (prepend to) transformation matrix of
      // graphics object to translate graphics transformation.
      e->Graphics->MultiplyTransform( transformMatrix );

      // Draw rotated, translated ellipse.
      e->Graphics->DrawEllipse( gcnew Pen( Color::Blue,3.0f ), -80, -40, 160, 80 );
   }
private void MultiplyTransformMatrix(PaintEventArgs e)
{

    // Create transform matrix.
    Matrix transformMatrix = new Matrix();

    // Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F);

    // Rotate transformation matrix of graphics object,

    // prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F);

    // Multiply (prepend to) transformation matrix of

    // graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix);

    // Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(new Pen(Color.Blue, 3), -80, -40, 160, 80);
}
Private Sub MultiplyTransformMatrix(ByVal e As PaintEventArgs)

    ' Create transform matrix.
    Dim transformMatrix As New Matrix

    ' Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F)

    ' Rotate transformation matrix of graphics object,

    ' prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F)

    ' Multiply (prepend to) transformation matrix of

    ' graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix)

    ' Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(New Pen(Color.Blue, 3), -80, -40, 160, 80)
End Sub

Комментарии

Этот метод добавляет матрицу, указанную matrix параметром, чтобы результат был x- matrix преобразованием.This method prepends the matrix specified by the matrix parameter, so that the result is matrix x world transformation.

См. также раздел

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

Продукт Introduced

MultiplyTransform(Matrix, MatrixOrder)

Умножает мировое преобразование данного объекта Graphics на указываемый объект Matrix в заданном порядке.Multiplies the world transformation of this Graphics and specified the Matrix in the specified order.

public:
 void MultiplyTransform(System::Drawing::Drawing2D::Matrix ^ matrix, System::Drawing::Drawing2D::MatrixOrder order);
public void MultiplyTransform (System.Drawing.Drawing2D.Matrix matrix, System.Drawing.Drawing2D.MatrixOrder order);
member this.MultiplyTransform : System.Drawing.Drawing2D.Matrix * System.Drawing.Drawing2D.MatrixOrder -> unit
Public Sub MultiplyTransform (matrix As Matrix, order As MatrixOrder)

Параметры

matrix
Matrix

Матрица Matrix 4x4, на которую умножается мировое преобразование.4x4 Matrix that multiplies the world transformation.

order
MatrixOrder

Член перечисления MatrixOrder, определяющий порядок умножения.Member of the MatrixOrder enumeration that determines the order of the multiplication.

Примеры

Следующий пример кода предназначен для использования с 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:

  • Создает transformMatrix матрицу (две две матрицы идентификации плюс вектор нулевого смещения).Creates a transformMatrix matrix (a two by two identity matrix plus a zero-translation vector).

  • Преобразует матрицу преобразования в вектор (200, 100).Translates the transform matrix by a vector (200, 100).

  • Поворачивает матрицу универсального преобразования Windows Form на 30 градусов, добавляя матрицу вращения на 30 градусов к матрице преобразования формы.Rotates the world transformation matrix of the Windows Form by 30 degrees, prepending the rotation matrix for 30 degrees to the form's transformation matrix.

  • Умножает повернутую матрицу универсального преобразования на переведенный transformMatrix , добавляя transformMatrix к матрице универсального преобразования.Multiplies the rotated world transformation matrix by the translated transformMatrix, appending the transformMatrix to the world transformation matrix.

  • Рисует повернутый, преобразованный эллипс.Draws a rotated, translated ellipse.

public:
   void MultiplyTransformMatrixOrder( PaintEventArgs^ e )
   {
      // Create transform matrix.
      Matrix^ transformMatrix = gcnew Matrix;

      // Translate matrix, prepending translation vector.
      transformMatrix->Translate( 200.0F, 100.0F );

      // Rotate transformation matrix of graphics object,
      // prepending rotation matrix.
      e->Graphics->RotateTransform( 30.0F );

      // Multiply (append to) transformation matrix of
      // graphics object to translate graphics transformation.
      e->Graphics->MultiplyTransform( transformMatrix, MatrixOrder::Append );

      // Draw rotated, translated ellipse.
      e->Graphics->DrawEllipse( gcnew Pen( Color::Blue,3.0f ), -80, -40, 160, 80 );
   }
private void MultiplyTransformMatrixOrder(PaintEventArgs e)
{

    // Create transform matrix.
    Matrix transformMatrix = new Matrix();

    // Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F);

    // Rotate transformation matrix of graphics object,

    // prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F);

    // Multiply (append to) transformation matrix of

    // graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix, MatrixOrder.Append);

    // Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(new Pen(Color.Blue, 3), -80, -40, 160, 80);
}
Private Sub MultiplyTransformMatrixOrder(ByVal e As PaintEventArgs)

    ' Create transform matrix.
    Dim transformMatrix As New Matrix

    ' Translate matrix, prepending translation vector.
    transformMatrix.Translate(200.0F, 100.0F)

    ' Rotate transformation matrix of graphics object,

    ' prepending rotation matrix.
    e.Graphics.RotateTransform(30.0F)

    ' Multiply (append to) transformation matrix of

    ' graphics object to translate graphics transformation.
    e.Graphics.MultiplyTransform(transformMatrix, MatrixOrder.Append)

    ' Draw rotated, translated ellipse.
    e.Graphics.DrawEllipse(New Pen(Color.Blue, 3), -80, -40, 160, 80)
End Sub

Комментарии

Значение Prepend для order параметра указывает, что порядок умножения равен matrix x World.A value of Prepend for the order parameter specifies that the order of the multiplication is matrix x world transformation. Значение Append для order указывает, что порядок умножения является мировым преобразованием x matrix .A value of Append for order specifies that the order of the multiplication is world transformation x matrix.

См. также раздел

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

Продукт Introduced