PathGradientBrush.MultiplyTransform Metoda

Definice

Vynásobí Matrix , který představuje místní geometrické transformace tím PathGradientBrush , že specifikuje Matrix zadaný předem zadaný Matrix.

Přetížení

Name Description
MultiplyTransform(Matrix, MatrixOrder)

Aktualizuje transformační matici štětce pomocí součinu transformační matice štětce vynásobenou jinou maticí.

MultiplyTransform(Matrix)

Aktualizuje transformační matici štětce pomocí matice transformace štětce vynásobenou jinou maticí.

MultiplyTransform(Matrix, MatrixOrder)

Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs

Aktualizuje transformační matici štětce pomocí součinu transformační matice štětce vynásobenou jinou maticí.

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

Ten Matrix se vynásobí aktuální transformační maticí štětce.

order
MatrixOrder

Určuje MatrixOrder , ve kterém pořadí se mají vynásobit dvě matice.

Příklady

Následující příklad kódu je určený pro použití s model Windows Forms a vyžaduje PaintEventArgse, objekt události OnPaint. Kód provede následující akce:

  • Vytvoří grafickou cestu a přidá do ní obdélník.

  • PathGradientBrush Vytvoří z bodů cesty (v tomto příkladu body tvoří obdélník, ale může to být většina obrazců).

  • Nastaví středovou barvu na červenou a okolní barvu na modrou.

  • Nakreslí PathGradientBrush na obrazovku před použitím násobení transformace.

  • Vytvoří matici, která otočí štětec o 90 stupňů a přeloží ji o 100 v obou osách.

  • Použije tuto matici na štětec pomocí MultiplyTransform metody.

  • Nakreslí štětec na obrazovku.

public:
   void MultiplyTransformExample( PaintEventArgs^ e )
   {
      // Create a graphics path and add an rectangle.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      Rectangle rect = Rectangle(20,20,100,50);
      myPath->AddRectangle( rect );

      // Get the path's array of points.
      array<PointF>^myPathPointArray = myPath->PathPoints;

      // Create a path gradient brush.
      PathGradientBrush^ myPGBrush = gcnew PathGradientBrush( myPathPointArray );

      // Set the color span.
      myPGBrush->CenterColor = Color::Red;
      array<Color>^ mySurroundColor = {Color::Blue};
      myPGBrush->SurroundColors = mySurroundColor;

      // Draw the brush to the screen prior to transformation.
      e->Graphics->FillRectangle( myPGBrush, 10, 10, 200, 200 );

      // Create a new matrix that rotates by 90 degrees, and
      // translates by 100 in each direction.
      Matrix^ myMatrix = gcnew Matrix( 0,1,-1,0,100,100 );

      // Apply the transform to the brush.
      myPGBrush->MultiplyTransform( myMatrix, MatrixOrder::Append );

      // Draw the brush to the screen again after applying the
      // transform.
      e->Graphics->FillRectangle( myPGBrush, 10, 10, 200, 300 );
   }
public void MultiplyTransformExample(PaintEventArgs e)
{
             
    // Create a graphics path and add an rectangle.
    GraphicsPath myPath = new GraphicsPath();
    Rectangle rect = new Rectangle(20, 20, 100, 50);
    myPath.AddRectangle(rect);
             
    // Get the path's array of points.
    PointF[] myPathPointArray = myPath.PathPoints;
             
    // Create a path gradient brush.
    PathGradientBrush myPGBrush = new
        PathGradientBrush(myPathPointArray);
             
    // Set the color span.
    myPGBrush.CenterColor = Color.Red;
    Color[] mySurroundColor = {Color.Blue};
    myPGBrush.SurroundColors = mySurroundColor;
             
    // Draw the brush to the screen prior to transformation.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200);
             
    // Create a new matrix that rotates by 90 degrees, and
    // translates by 100 in each direction.
    Matrix myMatrix = new Matrix(0, 1, -1, 0, 100, 100);
             
    // Apply the transform to the brush.
    myPGBrush.MultiplyTransform(myMatrix, MatrixOrder.Append);
             
    // Draw the brush to the screen again after applying the
    // transform.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 300);
}
Public Sub MultiplyTransformExample(ByVal e As PaintEventArgs)

    ' Create a graphics path and add a rectangle.
    Dim myPath As New GraphicsPath
    Dim rect As New Rectangle(20, 20, 100, 50)
    myPath.AddRectangle(rect)

    ' Get the path's array of points.
    Dim myPathPointArray As PointF() = myPath.PathPoints

    ' Create a path gradient brush.
    Dim myPGBrush As New PathGradientBrush(myPathPointArray)

    ' Set the color span.
    myPGBrush.CenterColor = Color.Red
    Dim mySurroundColor As Color() = {Color.Blue}
    myPGBrush.SurroundColors = mySurroundColor

    ' Draw the brush to the screen prior to transformation.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200)

    ' Create a new matrix that rotates by 90 degrees, and
    ' translates by 100 in each direction.
    Dim myMatrix As New Matrix(0, 1, -1, 0, 100, 100)

    ' Apply the transform to the brush.
    myPGBrush.MultiplyTransform(myMatrix, MatrixOrder.Append)

    ' Draw the brush to the screen again after applying the
    ' transform.
    e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 300)
End Sub

Platí pro

MultiplyTransform(Matrix)

Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs
Zdroj:
PathGradientBrush.cs

Aktualizuje transformační matici štětce pomocí matice transformace štětce vynásobenou jinou maticí.

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

Ten Matrix se vynásobí aktuální transformační maticí štětce.

Příklady

Pro příklad viz MultiplyTransform.

Platí pro