Поделиться через


LinearGradientBrush.MultiplyTransform Метод

Определение

Умножает Matrix, представляющий локальное геометрическое преобразование этого LinearGradientBrush на указанный Matrix путем подготовки указанного Matrix.

Перегрузки

MultiplyTransform(Matrix, MatrixOrder)

Умножает Matrix, представляющий локальное геометрическое преобразование этого LinearGradientBrush на указанный Matrix в указанном порядке.

MultiplyTransform(Matrix)

Умножает Matrix, представляющий локальное геометрическое преобразование этого LinearGradientBrush на указанный Matrix путем подготовки указанного Matrix.

MultiplyTransform(Matrix, MatrixOrder)

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

Умножает Matrix, представляющий локальное геометрическое преобразование этого LinearGradientBrush на указанный Matrix в указанном порядке.

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, с помощью которого умножается геометрическое преобразование.

order
MatrixOrder

MatrixOrder, указывающий, в каком порядке умножаются две матрицы.

Примеры

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

  • Создает новый LinearGradientBrush.

  • Рисует многоточие на экран с помощью этой кисти.

  • Вызывает метод MultiplyTransform для преобразования LinearGradientBrush.

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

Обратите внимание, что нижний эллипс растянут в горизонтальном направлении, и что градиент растянут, чтобы соответствовать новой фигуре.

private:
   void MultiplyTransformExample( PaintEventArgs^ e )
   {
      // Create a LinearGradientBrush.
      Rectangle myRect = Rectangle(20,20,200,100);
      LinearGradientBrush^ myLGBrush = gcnew LinearGradientBrush( myRect,Color::Blue,Color::Red,0.0f,true );

      // Draw an ellipse to the screen using the LinearGradientBrush.
      e->Graphics->FillEllipse( myLGBrush, myRect );

      // Transform the LinearGradientBrush.
      array<Point>^ transformArray = {Point(20,150),Point(400,150),Point(20,200)};
      Matrix^ myMatrix = gcnew Matrix( myRect,transformArray );
      myLGBrush->MultiplyTransform( myMatrix, MatrixOrder::Prepend );

      // Draw a second ellipse to the screen using
      // the transformed brush.
      e->Graphics->FillEllipse( myLGBrush, 20, 150, 380, 50 );
   }
 private void MultiplyTransformExample(PaintEventArgs e)
 {
              
     // Create a LinearGradientBrush.
     Rectangle myRect = new Rectangle(20, 20, 200, 100);
     LinearGradientBrush myLGBrush = new LinearGradientBrush(
         myRect, Color.Blue, Color.Red,  0.0f, true);
         
     // Draw an ellipse to the screen using the LinearGradientBrush.
     e.Graphics.FillEllipse(myLGBrush, myRect);
              
     // Transform the LinearGradientBrush.
     Point[] transformArray = { new Point(20, 150),
          new Point(400,150), new Point(20, 200) };

     Matrix myMatrix = new Matrix(myRect, transformArray);
     myLGBrush.MultiplyTransform(
         myMatrix,
         MatrixOrder.Prepend);
              
     // Draw a second ellipse to the screen using
     // the transformed brush.
     e.Graphics.FillEllipse(myLGBrush, 20, 150, 380, 50);
 }
Public Sub MultiplyTransformExample(ByVal e As PaintEventArgs)

    ' Create a LinearGradientBrush.
    Dim myRect As New Rectangle(20, 20, 200, 100)
    Dim myLGBrush As New LinearGradientBrush(myRect, Color.Blue, _
    Color.Red, 0.0F, True)

    ' Draw an ellipse to the screen using the LinearGradientBrush.
    e.Graphics.FillEllipse(myLGBrush, myRect)

    ' Transform the LinearGradientBrush.
    Dim transformArray As Point() = {New Point(20, 150), _
    New Point(400, 150), New Point(20, 200)}
    Dim myMatrix As New Matrix(myRect, transformArray)
    myLGBrush.MultiplyTransform(myMatrix, MatrixOrder.Prepend)

    ' Draw a second ellipse to the screen using the transformed brush.
    e.Graphics.FillEllipse(myLGBrush, 20, 150, 380, 50)
End Sub

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

MultiplyTransform(Matrix)

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

Умножает Matrix, представляющий локальное геометрическое преобразование этого LinearGradientBrush на указанный Matrix путем подготовки указанного 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, с помощью которого умножается геометрическое преобразование.

Примеры

Пример см. в разделе MultiplyTransform.

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