Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Traçage d'un arc d'ellipse Dim 1 Jan 2012 - 8:33 | |
| Avec Print.dll, on peut maintenant tracer un arc d'ellipse (et donc de cercle, à fortiori !). Voici un extrait de la doc: - Citation :
- Traçage d’un arc d’éllipse
I: res% = PrinterDrawArc(x1%,y1%,x2%,y2%,alpha%,beta%) P: res% = DLL_call6(“PrinterDrawArc,”, x1%,y1%,x2%,y2%,alpha%,beta%) Cette fonction dessine un arc d'éllipse, dans le sens inverse des aiguilles d'une montre. L'éllipe est définie par les coordonnées du rectangle déterminé par (x1,y1) et (x2,y2). L'arc commence à partir d'un angle de alpha degrés par rapport à l'horizontale, et est dessiné sur une longueur de beta degres.
Exemple : pour tracer un quart de cercle inscrit dans le carré de 600 pixels de largeur commençant En (300,500) et terminant donc en (900,1100), l’arc commençant à 45 degrés à partir de l’horizontale, Il faut faire : Res% = DLL_call6(« PrinterDrawArc,300,500,900,1100,45,90) On voit : Si hauteur et largeur du rectangle sont identique, on aura un arc de cercle, Sinon, on aura un arc d’éllipse.
Et pour ceux qui se sont posé des questions en ce qui concerne le traçage d'une ligne strictement horizontale ou verticale, cette fonction était présente dans Print.dll depuis longtemps - voici un extrait de la doc: - Citation :
- 2 = dessiner une forme à partir de la position active
opt1% = code pour la forme 0 = ligne 1 = rectangle 2 = ellipse si rectangle: additionner 256*diamètre arrondi opt2% = coordonnée x (abscisse) du point inférieur droit opt3% = coordonnée y (ordonnée) du point inférieur droit
Le code 0 donne bien une ligne - on n'a pas besoin de dénaturer un rectangle pour cela... | |
|