GraphicsPath.Transform(Matrix) Méthode

Définition

Applique une matrice de transformation à ce GraphicsPath.Applies a transform matrix to this GraphicsPath.

public:
 void Transform(System::Drawing::Drawing2D::Matrix ^ matrix);
public void Transform (System.Drawing.Drawing2D.Matrix matrix);
member this.Transform : System.Drawing.Drawing2D.Matrix -> unit
Public Sub Transform (matrix As Matrix)

Paramètres

matrix
Matrix

Matrix représentant la transformation à appliquer.A Matrix that represents the transformation to apply.

Exemples

L’exemple de code suivant est conçu pour être utilisé avec Windows Forms, et il requiert PaintEventArgs e un OnPaint objet d’événement.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. Le code effectue les actions suivantes :The code performs the following actions:

  • Crée un tracé et ajoute une ellipse au tracé.Creates a path and adds an ellipse to the path.

  • Dessine le tracé à l’écran.Draws path to the screen.

  • Crée une matrice de transformation pour convertir le chemin d’accès 100 unités dans le sens de l’axe x.Creates a transform matrix to translate the path 100 units in the x-axis direction.

  • Dessine le tracé transformé à l’écran.Draws the transformed path to the screen.

Notez que l’ellipse d’origine est dessinée en noir et que l’ellipse transformée est dessinée en rouge.Notice that the original ellipse is drawn in black and the transformed ellipse is drawn in red.

private:
   void TransformExample( PaintEventArgs^ e )
   {
      // Create a path and add and ellipse.
      GraphicsPath^ myPath = gcnew GraphicsPath;
      myPath->AddEllipse( 0, 0, 100, 200 );

      // Draw the starting position to screen.
      e->Graphics->DrawPath( Pens::Black, myPath );

      // Move the ellipse 100 points to the right.
      Matrix^ translateMatrix = gcnew Matrix;
      translateMatrix->Translate( 100, 0 );
      myPath->Transform(translateMatrix);

      // Draw the transformed ellipse to the screen.
      e->Graphics->DrawPath( gcnew Pen( Color::Red,2.0f ), myPath );
   }
private void TransformExample(PaintEventArgs e)
{
             
    // Create a path and add and ellipse.
    GraphicsPath myPath = new GraphicsPath();
    myPath.AddEllipse(0, 0, 100, 200);
             
    // Draw the starting position to screen.
    e.Graphics.DrawPath(Pens.Black, myPath);
             
    // Move the ellipse 100 points to the right.
    Matrix translateMatrix = new Matrix();
    translateMatrix.Translate(100, 0);
    myPath.Transform(translateMatrix);
             
    // Draw the transformed ellipse to the screen.
    e.Graphics.DrawPath(new Pen(Color.Red, 2), myPath);
}
Public Sub TransformExample(ByVal e As PaintEventArgs)

    ' Create a path and add and ellipse.
    Dim myPath As New GraphicsPath
    myPath.AddEllipse(0, 0, 100, 200)

    ' Draw the starting position to screen.
    e.Graphics.DrawPath(Pens.Black, myPath)

    ' Move the ellipse 100 points to the right.
    Dim translateMatrix As New Matrix
    translateMatrix.Translate(100, 0)
    myPath.Transform(translateMatrix)

    ' Draw the transformed ellipse to the screen.
    e.Graphics.DrawPath(New Pen(Color.Red, 2), myPath)
End Sub

Remarques

La transformation peut mettre à l’échelle, translater, faire pivoter ou incliner GraphicsPath .The transformation can scale, translate, rotate, or skew the GraphicsPath.

S’applique à