Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les chemins sont formés en combinant des lignes, des rectangles et des courbes simples. Rappelez-vous de la vue d’ensemble des graphiques vectoriels que les blocs de construction de base suivants se sont avérés les plus utiles pour dessiner des images :
Lignes
Rectangles
Points de suspension
Arcs
Polygones
Splines cardinales
Splines de Bézier
Dans GDI+, l’objet GraphicsPath vous permet de collecter une séquence de ces blocs de construction en une seule unité. La séquence entière de lignes, de rectangles, de polygones et de courbes peut ensuite être dessinée avec un appel à la méthode DrawPath de la classe Graphics. L’illustration suivante montre un chemin créé en combinant une ligne, un arc, une spline de Bézier et une spline cardinale.
Utilisation d’un chemin
La classe GraphicsPath fournit les méthodes suivantes pour créer une séquence d’éléments à dessiner : AddLine, AddRectangle, AddEllipse, AddArc, AddPolygon, AddCurve (pour les splines cardinales) et AddBezier. Chacune de ces méthodes est surchargée ; autrement dit, chaque méthode prend en charge plusieurs listes de paramètres différentes. Par exemple, une variante de la méthode AddLine reçoit quatre entiers, et une autre variante de la méthode AddLine reçoit deux objets Point.
Les méthodes permettant d’ajouter des lignes, des rectangles et des splines de Bézier à un chemin ont des méthodes dans leur version plurielle qui ajoutent plusieurs éléments au chemin en un seul appel : AddLines, AddRectangleset AddBeziers. En outre, les méthodes AddCurve et AddArc ont des méthodes d’accompagnement, AddClosedCurve et AddPie, qui ajoutent une courbe fermée ou un secteur au chemin d’accès.
Pour dessiner un chemin, vous avez besoin d’un objet Graphics, d’un objet Pen et d’un objet GraphicsPath. L’objet Graphics fournit la méthode DrawPath, et l’objet Pen stocke des attributs, tels que la largeur et la couleur, de la ligne utilisée pour afficher le chemin d’accès. L’objet GraphicsPath stocke la séquence de lignes et de courbes qui composent le chemin. L’objet Pen et l’objet GraphicsPath sont passés en tant qu’arguments à la méthode DrawPath. L’exemple suivant dessine un chemin qui se compose d’une ligne, d’un ellipse et d’une spline de Bézier :
myGraphicsPath.AddLine(0, 0, 30, 20);
myGraphicsPath.AddEllipse(20, 20, 20, 40);
myGraphicsPath.AddBezier(30, 60, 70, 60, 50, 30, 100, 10);
myGraphics.DrawPath(myPen, myGraphicsPath);
myGraphicsPath.AddLine(0, 0, 30, 20)
myGraphicsPath.AddEllipse(20, 20, 20, 40)
myGraphicsPath.AddBezier(30, 60, 70, 60, 50, 30, 100, 10)
myGraphics.DrawPath(myPen, myGraphicsPath)
L’illustration suivante montre le chemin d’accès.
En plus d’ajouter des lignes, des rectangles et des courbes à un tracé, vous pouvez ajouter des tracés à un tracé. Cela vous permet de combiner des chemins existants pour former des chemins volumineux et complexes.
myGraphicsPath.AddPath(graphicsPath1, false);
myGraphicsPath.AddPath(graphicsPath2, false);
myGraphicsPath.AddPath(graphicsPath1, False)
myGraphicsPath.AddPath(graphicsPath2, False)
Il y a deux autres éléments que vous pouvez ajouter à un chemin : des chaînes et des tartes. Une tarte est une partie de l’intérieur d’un ellipse. L’exemple suivant crée un trajet à partir d’un arc, d’une courbe libre cardinale, d’une chaîne et d’un secteur :
GraphicsPath myGraphicsPath = new GraphicsPath();
Point[] myPointArray =
{
new Point(5, 30),
new Point(20, 40),
new Point(50, 30)
};
FontFamily myFontFamily = new FontFamily("Times New Roman");
PointF myPointF = new PointF(50, 20);
StringFormat myStringFormat = new StringFormat();
myGraphicsPath.AddArc(0, 0, 30, 20, -90, 180);
myGraphicsPath.StartFigure();
myGraphicsPath.AddCurve(myPointArray);
myGraphicsPath.AddString("a string in a path", myFontFamily,
0, 24, myPointF, myStringFormat);
myGraphicsPath.AddPie(230, 10, 40, 40, 40, 110);
myGraphics.DrawPath(myPen, myGraphicsPath);
Dim myGraphicsPath As New GraphicsPath()
Dim myPointArray As Point() = { _
New Point(5, 30), _
New Point(20, 40), _
New Point(50, 30)}
Dim myFontFamily As New FontFamily("Times New Roman")
Dim myPointF As New PointF(50, 20)
Dim myStringFormat As New StringFormat()
myGraphicsPath.AddArc(0, 0, 30, 20, -90, 180)
myGraphicsPath.StartFigure()
myGraphicsPath.AddCurve(myPointArray)
myGraphicsPath.AddString("a string in a path", myFontFamily, _
0, 24, myPointF, myStringFormat)
myGraphicsPath.AddPie(230, 10, 40, 40, 40, 110)
myGraphics.DrawPath(myPen, myGraphicsPath)
L’illustration suivante montre le chemin d’accès. Notez qu’un chemin d’accès n’a pas besoin d’être connecté ; l’arc, la courbe libre cardinale, la chaîne et le secteur sont séparés.
chemins d’accès 
Voir aussi
.NET Desktop feedback