LinearGradientBrush.MultiplyTransform Metod

Definition

Multiplicerar Matrix det som representerar den lokala geometriska transformen av detta LinearGradientBrush med angivet Matrix genom att vänta på den angivna Matrix.

Överlagringar

Name Description
MultiplyTransform(Matrix, MatrixOrder)

Multiplicerar den Matrix som representerar den lokala geometriska transformen av detta LinearGradientBrush med angiven Matrix i den angivna ordningen.

MultiplyTransform(Matrix)

Multiplicerar Matrix det som representerar den lokala geometriska transformen av detta LinearGradientBrush med angivet Matrix genom att vänta på den angivna Matrix.

MultiplyTransform(Matrix, MatrixOrder)

Multiplicerar den Matrix som representerar den lokala geometriska transformen av detta LinearGradientBrush med angiven Matrix i den angivna ordningen.

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)

Parametrar

matrix
Matrix

Med Matrix vilken man multiplicerar den geometriska transformen.

order
MatrixOrder

A MatrixOrder som anger i vilken ordning de två matriserna ska multipliceras.

Exempel

Följande kodexempel är utformat för användning med Windows Forms och kräver PaintEventArgse, ett OnPaint händelseobjekt. Koden utför följande åtgärder:

  • Skapar en ny LinearGradientBrush.

  • Ritar en ellips till skärmen med hjälp av den här penseln.

  • MultiplyTransform Anropar metoden för att transformera LinearGradientBrush.

  • Ritar en ellips till skärmen direkt under den första ellipsen med hjälp av den transformerade borsten.

Observera att den nedre ellipsen sträcks ut i vågrät riktning och att toningen sträcks ut så att den matchar den nya formen.

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

Gäller för

MultiplyTransform(Matrix)

Multiplicerar Matrix det som representerar den lokala geometriska transformen av detta LinearGradientBrush med angivet Matrix genom att vänta på den angivna 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)

Parametrar

matrix
Matrix

Med Matrix vilken man multiplicerar den geometriska transformen.

Exempel

Ett exempel finns i MultiplyTransform.

Gäller för