LinearGradientBrush.MultiplyTransform Método

Definición

Multiplica el Matrix valor de que representa la transformación geométrica local de esta LinearGradientBrush por el especificado Matrix prepending del especificado Matrix.

Sobrecargas

Nombre Description
MultiplyTransform(Matrix, MatrixOrder)

Multiplica el Matrix que representa la transformación geométrica local de este LinearGradientBrush por el especificado Matrix en el orden especificado.

MultiplyTransform(Matrix)

Multiplica el Matrix valor de que representa la transformación geométrica local de esta LinearGradientBrush por el especificado Matrix prepending del especificado Matrix.

MultiplyTransform(Matrix, MatrixOrder)

Multiplica el Matrix que representa la transformación geométrica local de este LinearGradientBrush por el especificado Matrix en el orden especificado.

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)

Parámetros

matrix
Matrix

Objeto Matrix por el que se va a multiplicar la transformación geométrica.

order
MatrixOrder

MatrixOrder que especifica en qué orden se multiplican las dos matrices.

Ejemplos

El ejemplo de código siguiente está diseñado para su uso con Windows Forms y requiere PaintEventArgse, un objeto de evento OnPaint. El código realiza las siguientes acciones:

  • Crea un nuevo LinearGradientBrushobjeto .

  • Dibuja una elipse en la pantalla con este pincel.

  • Llama al MultiplyTransform método para transformar .LinearGradientBrush

  • Dibuja una elipse en la pantalla directamente debajo de la primera elipse, utilizando el pincel transformado.

Observe que la elipse inferior se extiende en la dirección horizontal y que el degradado se extiende para que coincida con la nueva forma.

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

Se aplica a

MultiplyTransform(Matrix)

Multiplica el Matrix valor de que representa la transformación geométrica local de esta LinearGradientBrush por el especificado Matrix prepending del especificado 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)

Parámetros

matrix
Matrix

Objeto Matrix por el que se va a multiplicar la transformación geométrica.

Ejemplos

Para obtener un ejemplo, consulte MultiplyTransform.

Se aplica a