Documentation de Gambas - /comp/gb.qt4/paint/arc

/comp/gb.qt4/paint/arc

# Paint.Arc (gb.qt4)

Static Sub Arc ( XC As Float, YC As Float, Radius As Float [ , Angle As Float, Length As Float, Pie As Boolean ] )

- XC : position X du centre de l’arc.

- YC : position X du centre de l’arc.

- Radius : rayon de l’arc.

- Angle : angle de départ, en radians.

- Length : longueur de l’arc, en radians.

Ajoute un arc de cercle de rayon Radius au tracé en cours. L’arc est centré sur (XC, YC), commence à Angle et s’étend de Length radians dans le sens anti horaire.

Si Length est négatif, l’arc est tracé dans le sens horaire.

Si Angle et Length ne sont pas spécifiés, un cercle entier est alors dessiné.

Si Angle est spécifié, mais pas Length, alors rien n’est tracé et la position courante est définie au point du cercle à l’angle spécifié Angle.

Les angles sont mesurés en radians. Un angle de `0.0` est dans la direction de la partie positive de l’axe des X (en espace utilisateur). Un angle de `π/2.0` radians (`90` degrés) est dans la direction de la partie positive de l’axe des Y (en espace utilisateur). Les angles croissent dans la direction partant des X positifs allant vers les Y positifs. Ainsi, avec la matrice de transformation par défaut, les angles croissent dans le sens inverse des aiguilles d’une montre.

Pour convertir des degrés en radians, utilisez la fonction Rad.

L’arc est circulaire en espace utilisateur. Pour obtenir un arc elliptique , vous pouvez pondérer la matrice de transformation courante par des valeurs différentes dans les directions X et Y. Pour tracer, par exemple, une ellipse dans la boîte donnée par X, Y, Largeur, Hauteur :

    Paint.Save()
    Paint.Tranlate(X + Largeur / 2, Y + Hauteur / 2)
    Paint.Scale(Largeur / 2, Hauteur / 2)
    Paint.Arc(0, 0, 1, 0, Pi(2))
    Paint.Restore()