Udostępnij za pośrednictwem


LinearGradientBrush.MultiplyTransform Metoda

Definicja

Mnoży Matrix reprezentującą lokalną transformację geometryczną tego LinearGradientBrush przez określony Matrix przez poprzedzanie określonego Matrix.

Przeciążenia

MultiplyTransform(Matrix, MatrixOrder)

Mnoży Matrix reprezentującą lokalną transformację geometryczną tego LinearGradientBrush przez określony Matrix w określonej kolejności.

MultiplyTransform(Matrix)

Mnoży Matrix reprezentującą lokalną transformację geometryczną tego LinearGradientBrush przez określony Matrix przez poprzedzanie określonego Matrix.

MultiplyTransform(Matrix, MatrixOrder)

Źródło:
LinearGradientBrush.cs
Źródło:
LinearGradientBrush.cs
Źródło:
LinearGradientBrush.cs
Źródło:
LinearGradientBrush.cs
Źródło:
LinearGradientBrush.cs

Mnoży Matrix reprezentującą lokalną transformację geometryczną tego LinearGradientBrush przez określony Matrix w określonej kolejności.

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)

Parametry

matrix
Matrix

Matrix, przez które należy pomnożyć transformację geometryczną.

order
MatrixOrder

MatrixOrder, który określa, w której kolejności należy pomnożyć dwie macierze.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, obiektu zdarzenia OnPaint. Kod wykonuje następujące akcje:

  • Tworzy nowy LinearGradientBrush.

  • Rysuje wielokropek na ekranie przy użyciu tego pędzla.

  • Wywołuje metodę MultiplyTransform, aby przekształcić LinearGradientBrush.

  • Rysuje wielokropek na ekranie bezpośrednio poniżej pierwszego wielokropka, używając przekształconego pędzla.

Zwróć uwagę, że dolna wielokropek jest rozciągnięta w kierunku poziomym i że gradient jest rozciągnięty w celu dopasowania do nowego kształtu.

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

Dotyczy

MultiplyTransform(Matrix)

Źródło:
LinearGradientBrush.cs
Źródło:
LinearGradientBrush.cs
Źródło:
LinearGradientBrush.cs
Źródło:
LinearGradientBrush.cs
Źródło:
LinearGradientBrush.cs

Mnoży Matrix reprezentującą lokalną transformację geometryczną tego LinearGradientBrush przez określony Matrix przez poprzedzanie określonego 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)

Parametry

matrix
Matrix

Matrix, przez które należy pomnożyć transformację geometryczną.

Przykłady

Aby zapoznać się z przykładem, zobacz MultiplyTransform.

Dotyczy