Arc

Dessine l'arc d'une ellipse inscrit dans un rectangle dont les coins sont situés aux points (x1,y1) et (x2,y2). Les limites de l'arc sont coupées par des lignes depuis le centre de l'ellipse, qui s'étendent jusqu'aux points de coordonnées (x3,y3) et (x4,y4).

void  Arc(
   int         x1,      // Coordonnée X du coin supérieur gauche du rectangle
   int         y1,      // Coordonnée Y du coin supérieur gauche du rectangle
   int         x2,      // Coordonnée X du coin inférieur droit du rectangle
   int         y2,      // Coordonnée Y du coin inférieur droit du rectangle
   int         x3,      // Coordonnée X du premier point pour trouver les limites de l'arc
   int         y3,      // Coordonnée Y du premier point pour trouver les limites de l'arc
   int         x4,      // Coordonnée X du deuxième point pour trouver les limites de l'arc
   int         y4,      // Coordonnée Y du deuxième point pour trouver les limites de l'arc
   const uint  clr      // couleur
   );

Paramètres

x1

[in]  Coordonnée X du coin supérieur gauche formant le rectangle.

y1

[in]  Coordonnée Y du coin supérieur gauche formant le rectangle.

x2

[in]  Coordonnée X du coin inférieur droit formant le rectangle.

y2

[in]  Coordonnée Y du coin inférieur droit formant le rectangle.

x3

[in]  Coordonnée X du premier point, sur lequel une ligne provenant du centre du rectangle est dessinée pour obtenir la limite de l'arc

y3

[in]  Coordonnée Y du premier point, sur lequel une ligne provenant du centre du rectangle est dessinée pour obtenir la limite de l'arc

x4

[in]  Coordonnée X du deuxième point, sur lequel une ligne provenant du centre du rectangle est dessinée pour obtenir la limite de l'arc

y4

[in]  Coordonnée Y du deuxième point, sur lequel une ligne provenant du centre du rectangle est dessinée pour obtenir la limite de l'arc

clr

[in]  Couleur au format ARGB. Utiliser la fonction ColorToARGB() pour convertir une variable de type color au format ARGB.

 

Dessine l'arc d'une ellipse dont le centre est au point (x,y), inscrit dans un rectangle avec des rayons rx et ry. Les limites de l'arc sont recoupées du centre de l'ellipse en utilisant des rayons formés par les angles fi3 et fi4.

void  Arc(
   int         x,       // Coordonnée X du centre de l'ellipse
   int         y,       // Coordonnée Y du centre de l'ellipse
   int         rx,      // Rayon de l'ellipse sur l'axe X
   int         ry,      // Rayon de l'ellipse sur l'axe Y
   int         fi3,     // Angle du rayon depuis le centre de l'ellipse définissant la première limite de l'arc
   int         fi4,     // Angle du rayon depuis le centre de l'ellipse définissant la deuxième limite de l'arc
   const uint  clr      // couleur
   );

Dessine l'arc d'une ellipse dont le centre est au point (x,y), inscrit dans un rectangle avec des rayons rx et ry, et retourne également les coordonnées des limites de l'arc. Les limites de l'arc sont recoupées du centre de l'ellipse en utilisant des rayons formés par les angles fi3 et fi4.

void  Arc(
   int         x,       // Coordonnée X du centre de l'ellipse
   int         y,       // Coordonnée Y du centre de l'ellipse
   int         rx,      // Rayon de l'ellipse sur l'axe X
   int         ry,      // Rayon de l'ellipse sur l'axe Y
   int         fi3,     // Angle du rayon depuis le centre de l'ellipse définissant la première limite de l'arc
   int         fi4,     // Angle du rayon depuis le centre de l'ellipse définissant la deuxième limite de l'arc
   int&        x3,      // Coordonnée X de la première limite de l'arc
   int&        y3,      // Coordonnée Y de la première limite de l'arc
   int&        x4,      // Coordonnée X de la deuxième limite de l'arc
   int&        y4,      // Coordonnée Y de la deuxième limite de l'arc
   const uint  clr      // couleur
   );

Paramètres

x

[in]  Coordonnée X du centre de l'ellipse.

y

[in]  Coordonnée Y du centre de l'ellipse.

rx

[in]  Rayon de l'ellipse sur l'axe X, en pixels.

ry

[in]  Rayon de l'ellipse sur l'axe X, en pixels.

fi3

[in]  Angle en radians, définissant la première limite de l'arc.

fi4

[in]  Angle en radians, définissant la deuxième limite de l'arc.

x3

[out] Variable pour récupérer la coordonnée X de la première limite de l'arc.

y3

[out] Variable pour récupérer la coordonnée Y de la première limite de l'arc.

x4

[out] Variable pour récupérer la coordonnée X de la deuxième limite de l'arc.

y4

[out] Variable pour récupérer la coordonnée Y de la deuxième limite de l'arc.

clr

[in]  Couleur au format ARGB. Utiliser la fonction ColorToARGB() pour convertir une variable de type color au format ARGB.

Exemples d'appel aux méthodes de la classe :

#include <Canvas\Canvas.mqh>
CCanvas canvas;
//+------------------------------------------------------------------+
//| Fonction de démarrage du script                                |
//+------------------------------------------------------------------+
void OnStart()
  {
   int      Width=600;
   int      Height=400;
//--- crée le canvas
   if(!canvas.CreateBitmapLabel(0,0,"CirclesCanvas",30,30,Width,Height))
     {
      Print("Erreur lors de la création du canvas : ",GetLastError());
     }
//--- efface le canvas
   canvas.Erase(clrWhite);
//--- dessine le rectangle
   canvas.Rectangle(215-190,215-120,215+190,215+120,clrGray);
//--- dessine le premier arc
   canvas.Arc(215,215, 190,120,M_PI_4,2*M_PI-M_PI_4,ColorToARGB(clrRed));
   int x1,y1,x2,y2;
//--- dessine le deuxième arc
   canvas.Arc(215,215, 190,120,2*M_PI-M_PI_4,2*M_PI+M_PI_4,x1,y1,x2,y2,ColorToARGB(clrGreen));
//--- affiche les coordonnées de l'arc
   PrintFormat("Premier point de l'arc à (%G,%G), deuxième point de l'arc à (%G,%G)",x1,y1,x2,y2);
   canvas.CircleAA(x1,y1,3, ColorToARGB(clrRed));
   canvas.CircleAA(x2,y2,3, ColorToARGB(clrBlue));
//--- affiche le canvas mis à jour
   canvas.Update();   
  }