Pie

(x1,y1) 및 (x2,y2)에 모서리가 있는 Rectangle에 새겨진 타원의 채워진 부분을 그리기. 섹터 경계는 타원의 중심에서 선으로 잘리고 좌표 (x3,y3) 및 (x4,y4)를 사용하여 두 점까지 연장됩니다.

void  Pie(
   int         x1,      // Rectangle 좌측 상단 모서리의 X 좌표
   int         y1,      // Rectangle 좌측 상단 모서리의 Y 좌표
   int         x2,      // Rectangle의 우측 하단 모서리의 X 좌표
   int         y2,      // Rectangle 우측 하단 모서리의 Y 좌표
   int         x3,      // 호의 경계선을 찾기 위한 첫 번째 점의 X 좌표
   int         y3,      // 호의 경계선을 찾기 위한 첫 번째 점의 Y 좌표
   int         x4,      // 호의 경계선을 찾기 위한 두 번째 점의 X 좌표
   int         y4,      // 호의 경계선을 찾기 위한 두 번째 점의 Y 좌표
   const uint  clr,     // 선 색상
   const uint  fill_clr // 색상 채우기
   );

매개변수

x1

[in]  Rectangle을 이루는 좌측 상단 모서리의 X 좌표.

y1

[in]  Rectangle을 이루는 좌측 상단 모서리의 Y 좌표.

x2

[in]  Rectangle을 이루는 우측 하단 모서리의 X 좌표.

y2

[in]  Rectangle을 이루는 우측 하단 모서리의 Y 좌표.

x3

[in]  호의 경계선을 얻기 위해 Rectangle 중심에서 선이 그려지는 첫 번째 점의 X 좌표.

y3

[in]  호의 경계선을 얻기 위해 Rectangle 중심에서 선이 그려지는 첫 번째 점의 Y 좌표.

x4

[in]  호의 경계선을 얻기 위해 Rectangle의 중심에서 선이 그려지는 두 번째 점의 X 좌표.

y4

[in]  호의 경계선을 얻기 위해 Rectangle의 중심에서 선이 그려지는 두 번째 점의 Y 좌표.

clr

[in]  ARGB 형식 섹터 테두리 색상.

fill_clr

[in]  색더의 색상을 ARGB 형식으로 채우기. 색상을 ARGB로 변환하려면 ColorToARGB() 기능을 사용합니다.

 

Rectangle에 내접하고 반지름 rx 및 ry이며 점 (x,y)에 중심을 둔 타원의 채워진 섹터를 그리기. 섹터 경계는 각도 fi3 및 fi4에 의해 형성된 광선에 의해 타원 중심에서 잘립니다.

void  Pie(
   int         x,       // 타원 중심의 X 좌표
   int         y,       // 타원 중심의 Y 좌표
   int         rx,      // X 축 타원 반지름
   int         ry,      // Y 축 타원 반지름
   int         fi3,     // 호의 첫 번째 경계를 정의하는 타원의 중심에서 나오는 레이 각도
   int         fi4,     // 호의 두 번째 경계를 정의하는 타원의 중심에서 나오는 레이 각도,
   const uint  clr,     // 선 색상
   const uint  fill_clr // 색상 채우기
   );

Rectangle에 내접하는 반지름 rx 및 ry이며 점 (x,y)에 중심을 둔 타원의 태워진 섹터를 그리고, 호 경계의 좌표도 반환합니다. 섹터 경계는 각도 fi3 및 fi4에 의해 형성된 광선에 의해 타원 중심에서 잘립니다.

void  Pie(
   int         x,       // 타원 중심의 X 좌표
   int         y,       // 타원 중심의 Y 좌표
   int         rx,      // X 축 타원 반지름
   int         ry,      // Y 축 타원 반지름
   int         fi3,     // 호의 첫 번째 경계를 정의하는 타원의 중심에서 나오는 레이 각도
   int         fi4,     // 호의 두 번째 경계를 정의하는 타원의 중심에서 나오는 레이 각도,
   int&        x3,      // 첫 번째 호 경계 X 좌표
   int&        y3,      // 첫 번째 호 경계 Y 좌표
   int&        x4,      // 두 번째 호 경계 X 좌표
   int&        y4,      // 두 번째 호 경계 Y 좌표
   const uint  clr,     // 선 색상
   const uint  fill_clr // 색상 채우기
   );

매개변수

x

[in]  타원 중심의 X 좌표.

y

[in]  차원 중심의 Y 좌표.

rx

[in]  X 축 타원 반지름(픽셀).

ry

[in]  X 축 타원 반지름(픽셀).

fi3

[in]  호의 첫 번째 경계를 정의하는 각도(라디안).

fi4

[in]  호의 두 번째 경계를 정의하는 각도(라디안).

x3

[out] 첫 번째 호 경계의 X 좌표를 가져오는 변수.

y3

[out] 첫 번째 호 경계의 Y 좌표를 가져오는 변수.

x4

[out] 두 번째 호 경계의 X 좌표를 가져오는 변수.

y4

[out] 두 번째 호 경계의 Y 좌표를 가져오는 변수.

clr

[in]  ARGB 형식 섹터 테두리 색상.

fill_clr

[in]  색더의 색상을 ARGB 형식으로 채우기. 색상을 ARGB로 변환하려면 ColorToARGB() 기능을 사용합니다.

호츨 클래스 메서드 예시:

#include <Canvas\Canvas.mqh>
CCanvas 캔버스;
//+------------------------------------------------------------------+
//| 스크립트 프로그램 시작 함수                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   int      Width=600;
   int      Height=400;
//--- 캔버스 생성
   if(!canvas.CreateBitmapLabel(0,0,"CirclesCanvas",30,30,Width,Height))
     {
      Print("캔버스 생성 오류: ",GetLastError());
     }
//--- 캔버스 비우기
   canvas.Erase(clrWhite);
//--- Rectangle 그리기
   canvas.Rectangle(215-190,215-120,215+190,215+120,clrGray);
//--- 첫 번째 파이 그리기
   canvas.Pie(215,215, 190,120,M_PI_4,2*M_PI-M_PI_4,ColorToARGB(clrBlue),ColorToARGB(clrRed));
//--- 두 번째 파이 그리기
   canvas.Pie(215,215, 190,120,2*M_PI-M_PI_4,2*M_PI+M_PI_4,ColorToARGB(clrGreen),ColorToARGB(clrGreen));
//--- 업데이트된 캔버스 표시
   canvas.Update();   
   DebugBreak();
  }