Pie

Dessine un secteur plein d'une ellipse inscrite dans un rectangle dont les coins sont situés aux points (x1,y1) et (x2,y2). Les limites du secteur 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  Pie(
   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 de ligne
   const uint  fill_clr // Couleur de remplissage
   );

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 de la bordure du secteur au format ARGB.

fill_clr

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

 

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

void  Pie(
   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 de ligne
   const uint  fill_clr // Couleur de remplissage
   );

Dessine un secteur plein 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 du secteur sont recoupées du centre de l'ellipse en utilisant des rayons formés par les angles fi3 et fi4.

void  Pie(
   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 de ligne
   const uint  fill_clr // Couleur de remplissage
   );

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 de la bordure du secteur au format ARGB.

fill_clr

[in]  Couleur de remplissage du secteur 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 la première part
   canvas.Pie(215,215, 190,120,M_PI_4,2*M_PI-M_PI_4,ColorToARGB(clrBlue),ColorToARGB(clrRed));
//--- dessine la deuxième part
   canvas.Pie(215,215, 190,120,2*M_PI-M_PI_4,2*M_PI+M_PI_4,ColorToARGB(clrGreen),ColorToARGB(clrGreen));
//--- affiche le canvas mis à jour
   canvas.Update();   
   DebugBreak();
  }