Как нарисовать крупный пирог в C, используя функцию pieslice()
?
pieslice(X-centre,Y-centre,StrtAngle,EndAngle,Radius).
Я пытаюсь нарисовать крупный сектор или pieslice в C, используя функцию pieslice
; Я хочу, чтобы начальный угол составлял 135 градусов, а конечный угол - 235 градусов, но в то же время это должен быть основной сектор, а не второстепенный сектор.
Я перепробовал все четыре комбинации
pieslice(100,100,135,-135,20)
pieslice(200,200,225,135,30)
pieslice(300,300,225,360+135,30)
pieslice(400,400,135,225,20)
pieslice(50,50,0,135,30);
pieslice(50,50,225,0,30);
Но все они рисуют соответствующий второстепенный сектор, а не основной. Может кто-нибудь посоветовать, пожалуйста, как это сделать?
Вот скриншот с выводом:
http://s4.postimage.org/906ozxj3u/phpu_Qu408.png
Спасибо за ваши усилия и время.
Теперь я не мог заставить pieslice работать по-своему. Однако с помощью следующей настройки я смог обойти проблему и получить желаемый результат. Я написал пользовательскую функцию slice(int x-centre, int y-centre,int sangle, int eangle, int radius)
, похожую на pieslice.
Я надеюсь, что это полезно для тех, кто застрял в подобной ситуации:
void slice(int x, int y, int sangle, int eangle, int rad)
{
int i,j,color;
if(sangle>eangle){
color=getcolor();
setcolor(getcolor()) ;
setfillstyle(SOLID_FILL,color);
circle(x,y,rad);
floodfill(x,y,color);
setcolor(getbkcolor());
setfillstyle(SOLID_FILL,getbkcolor());
pieslice(x,y,eangle,sangle,rad);
setcolor(color);
}
}