GdipDrawPie()
Syntaxe
|
Resultat.i = GdipDrawPie(*graphics, *pen, x.f, y.f, width.f, height.f, startAngle.f, sweepAngle.f)
Paramètres
|
*graphics[in] Pointeur sur un objet Graphics.
*pen[in] Pointeur sur un objet Pen.
x.f[in] Coordonnée en x (abscisse) de l'angle supérieur gauche du rectangle qui définit l'ellipse à partir de laquelle l'arc est dessiné.
y.f[in] Coordonnée en y (ordonnée) de l'angle supérieur gauche du rectangle qui définit l'ellipse à partir de laquelle l'arc est dessiné.
width.f[in] Largeur du rectangle qui délimite l'ellipse à partir de laquelle l'arc est dessiné.
height.f[in] Hauteur du rectangle qui délimite l'ellipse à partir de laquelle l'arc 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 de dessiner un graphique à secteurs (appelé aussi camembert) sur le graphique *graphics avec le pen *pen.
Ce secteur 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.
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.f, y.f, width.f, height.f.La fonction est extrêmement proche de GdipDrawArc(). La différence réside dans le contour qui est fermé par les deux lignes radiales pour GdipDrawPie().
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ésVoici 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