GdipAddPathPieI()



Syntaxe
Resultat.i = GdipAddPathPieI(*path, x.l, y.l, width.l, height.l, startAngle.f, sweepAngle.f)
Paramètres
*path

[in] Pointeur sur un objet GraphicsPath.

x.l

[in] Coordonnée en x (abscisse) de l'angle supérieur gauche du rectangle qui définit l'ellipse à partir de laquelle le secteur est dessiné.

y.l

[in] Coordonnée en y (ordonnée) de l'angle supérieur gauche du rectangle qui définit l'ellipse à partir de laquelle le secteur est dessiné.

width.l

[in] Largeur du rectangle qui définit l'ellipse à partir de laquelle le secteur est dessiné.

height.l

[in] Hauteur du rectangle qui définit l'ellipse à partir de laquelle le secteur est dessiné.

startAngle.f

[in] Angle en degrés entre l'axe horizontal x de l'ellipse et le segment de droite tracé entre le centre de l'axe et le point de départ de l'arc (voir l'exemple de la description). Si l'angle est positif, la rotation se fait dans le sens des aiguilles d'une montre, sinon dans le sens contraire.

sweepAngle.f

[in] Angle en degrés entre le point de départ (startAngle) et la fin de l'arc. Si l'angle est positif, la rotation se fait dans le sens des aiguilles d'une montre, sinon dans le sens contraire.

Description
La fonction permet d'ajouter un graphique à secteurs (appelé aussi camembert) à la figure en cours du GraphicsPath. Ce tracé est définit par un arc elliptique et par deux lignes radiales partant des deux extrémités de l'arc pour arriver au centre de l'axe x de l'ellipse.

La fonction est extrêmement proche de GdipAddPathArcI(). La différence réside dans le contour qui est fermé par les deux lignes radiales pour GdipAddPathPieI().

Le secteur est basé sur un arc elliptique dont l'ellipse s'inscrit à l'intérieur du rectangle défini par les paramètres x.l,y.l, width.l, height.l.

startAngle permet de positionner l'arc sur le pourtour de l'ellipse (l'exemple du deuxième fichier permet grâce au curseur de faire glisser l'arc sur le pourtour de l'ellipse qui lui sert de base. L'exemple montre la différence entre startAngle et sweepAngle)

sweepAngle permet de limiter la longueur de l'arc.

Voici le rectangle et l'ellipse de référence :


startAngle est l'angle en degrés entre l'axe horizontal x de l'ellipse et le segment de droite tracé entre le centre de l'axe et le point de départ de l'arc (segment en gris sur le dessin ci-dessous). Si l'angle est positif, la rotation se fait dans le sens des aiguilles d'une montre, sinon dans le sens contraire.
Pour l'exemple ci-dessous, l'angle startAngle vaut 45° (positif), la rotation se fait dans le sens des aiguilles d'une montre. sweepAngle vaut 180°.
La référence pour le point de départ est un angle startAngle de 0 degrés, le segment gris est confondu avec l'axe horizontal de l'ellipse, le point de départ se trouve alors sur l'axe horizontal, repère 0 du dessin (c'est l'angle 0 d'un cercle trigonométrique).
Le secteur est en bleu.


sweepAngle est l'angle en degrés entre le segment de droite tracé entre le centre de l'axe horizontal x de l'ellipse et le point de départ de l'arc (startAngle) et un second segment de droite tracé entre le centre de l'axe horizontal x de l'ellipse et le point d'arrivé de l'arc (fin de l'arc). Ces segments sont en bleus sur le dessin ci-dessous car ils appartiennent au contour du secteur et sont dessinés. Si l'angle est positif, la rotation se fait dans le sens des aiguilles d'une montre à partir du point de départ pour obtenir le point d'arrivée, sinon c'est dans le sens contraire.
Un angle sweepAngle de 360 ou - 360 degrés dessinera entièrement l'ellipse.
Pour l'exemple ci-dessous, l'angle sweepAngle vaut 90° (positif), l'angle startAngle vaut 45° (positif).
Le secteur est en bleu.

Voici un exemple :

Les dimensions du rectangle sont :

x = 50.0
y = 20.0
width = 250.0
height = 200.0
startAngle = 0; en degrés
sweepAngle = - 295; en degrés

Voici le secteur tel qu'il est affiché avec ces valeurs

 
Résultat de la fonction
Si la fonction réussit, elle retourne #Ok qui est une constante de l'énumération status.
Si la fonction échoue, elle retourne une des autres valeurs de l'énumération status.
PB - OS
PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium