Pie

Disegna un settore riempito di un'ellisse iscritta in un rettangolo con angoli a (x1, y1) e (x2, y2). I confini del settore vengono tagliati da linee dal centro dell'ellisse, che si estendono a due punti con le coordinate (x3, y3) e (x4, y4).

void  Pie(
   int         x1,      // coordinate X dell' angolo superiore sinistro del rettangolo
   int         y1,      // coordinate Y dell' angolo superiore sinistro del rettangolo
   int         x2,      // coordinate X dell' angolo inferiore destro del rettangolo
   int         y2,      // coordinate Y dell' angolo superiore sinistro del rettangolo
   int         x3,      // coordinate X del primo punto per trovare i limiti dell'arco
   int         y3,      // coordinate Y del primo punto per trovare i limiti dell'arco
   int         x4,      // coordinate X del secondo punto per trovare i limiti dell'arco
   int         y4,      // coordinate Y del secondo punto per trovare i limiti dell'arco
   const uint  clr,     // colore linea
   const uint  fill_clr // colore riempimento
   );

Parametri

x1

[in] coordinata X dell'angolo superiore sinistro che forma il rettangolo.

y1

[in] coordinata Y dell'angolo superiore sinistro che forma il rettangolo.

x2

[in] coordinata X dell'angolo in basso a destra che forma il rettangolo.

y2

[in] coordinata Y dell'angolo in basso a destra che forma il rettangolo.

x3

[in] coordinata X del primo punto, al quale viene disegnata una linea dal centro rettangolare per ottenere il limite dell'arco.

y3

[in] coordinata Y del primo punto, al quale viene disegnata una linea dal centro rettangolare per ottenere il limite dell'arco.

x4

[in] coordinata X del secondo punto, al quale viene disegnata una linea dal centro rettangolare per ottenere il limite dell'arco.

y4

[in] coordinata Y del secondo punto, al quale viene disegnata una linea dal centro rettangolare per ottenere il limite dell'arco.

clr

[in] Colore del bordo del settore nel formato ARGB.

fill_clr

[in] Colore di riempimento del settore nel formato ARGB. Usa la funzione ColorToARGB() per convertire un colore nel formato ARGB.

Disegna un settore riempito di un'ellisse con centro a punto (x, y), incisi nel rettangolo, con raggi x e ry. I confini del settore vengono tagliati dal centro dell'ellisse da raggi formati da angoli fi3 e fi4.

void  Pie(
   int         x,       // coordinate X del centro ellisse
   int         y,       // coordinate Y del centro ellisse
   int         rx,      // raggio di ellisse sull'asse X
   int         ry,      // raggio di ellisse sull'asse Y
   int         fi3,     // angolo di raggio dal centro di ellisse, che definisce il primo limite dell'arco
   int         fi4,     // angolo di raggio dal centro di ellisse, che definisce il secondo limite dell'arco
   const uint  clr,     // colore linea
   const uint  fill_clr // colore riempimento
   );

Disegna un settore riempito di un'ellisse con centro al punto (x, y), inciso in rettangolo, con raggi rx e ry e restituisce anche le coordinate dei limiti dell'arco. I confini del settore vengono tagliati dal centro dell'ellisse da raggi formati da angoli fi3 e fi4.

void  Pie(
   int         x,       // coordinate X del centro ellisse
   int         y,       // coordinate Y del centro ellisse
   int         rx,      // raggio di ellisse sull'asse X
   int         ry,      // raggio di ellisse sull'asse Y
   int         fi3,     // angolo di raggio dal centro di ellisse, che definisce il primo limite dell'arco
   int         fi4,     // angolo di raggio dal centro di ellisse, che definisce il secondo limite dell'arco
   int&        x3,      // coordinate X del primo contorno d'arco
   int&        y3,      // coordinate Y del primo contorno d'arco
   int&        x4,      // coordinate X del secondo contorno d'arco
   int&        y4,      // coordinate Y del secondo contorno d'arco
   const uint  clr,     // colore linea
   const uint  fill_clr // colore riempimento
   );

Parametri

x

[in] coordinate X del centro ellisse.

y

[in] coordinate Y del centro ellisse.

rx

[in] Raggio dell'ellisse sull'asse Y, in pixel.

ry

[in] Raggio dell'ellisse sull'asse Y, in pixel.

fi3

[in] Angolo in radianti, che definisce il primo limite dell'arco.

fi4

[in] Angolo in radianti, che definisce il secondo limite dell'arco.

x3

[out] Variabile per ottenere la coordinata X del primo limite dell'arco.

y3

[out] Variabile per ottenere la coordinata Y del primo limite dell'arco.

x4

[out] Variabile per ottenere la coordinata X del secondo limite dell'arco.

y4

[out] Variabile per ottenere la coordinata Y del secondo limite dell'arco.

clr

[in] Colore del bordo del settore nel formato ARGB.

fill_clr

[in] Colore di riempimento del settore nel formato ARGB. Usa la funzione ColorToARGB() per convertire un colore nel formato ARGB.

Esempi di chiamata dei metodi della classe:

#include <Canvas\Canvas.mqh>
CCanvas canvas;
//+------------------------------------------------------------------+
//| Funzione Script Programma Script                             |
//+------------------------------------------------------------------+
void OnStart()
  {
   int      Width=600;
   int      Height=400;
//--- crea canvas
   if(!canvas.CreateBitmapLabel(0,0,"CirclesCanvas",30,30,Width,Height))
     {
      Print("Error creating canvas: ",GetLastError());
     }
//--- pulisce canvas
   canvas.Erase(clrWhite);
//--- disegna rectangle
   canvas.Rectangle(215-190,215-120,215+190,215+120,clrGray);
//--- disegna la prima torta
   canvas.Pie(215,215, 190,120,M_PI_4,2*M_PI-M_PI_4,ColorToARGB(clrBlue),ColorToARGB(clrRed));
//--- disegna la seconda torta
   canvas.Pie(215,215, 190,120,2*M_PI-M_PI_4,2*M_PI+M_PI_4,ColorToARGB(clrGreen),ColorToARGB(clrGreen));
//--- mostra canvas aggiornato
   canvas.Update();   
   DebugBreak();
  }