我一直在使用中点圆算法画一个圆。
void circlePoints (int x, int y, int xc, int yc)
{
drawDot (xc+x,yc+y);
drawDot (xc-x,yc+y);
drawDot (xc+x,yc-y);
drawDot (xc-x,yc-y);
drawDot (xc+y,yc+x);
drawDot (xc-y,yc+x);
drawDot (xc+y,yc-x);
drawDot (xc-y,yc-x);
}
void Circle (int xc, int yc, int rad)
{ int x,y,d;
x = 0;
y = rad;
circlePoints (x,y,xc,yc);
d = (5/4) - rad;
while (x < y)
{
if (d < 0)
{
x++;
d+=2*x+1;
}
else
{
x++;
y--;
d+=2*(x-y)+1;
}
/*if (d < 0)
d += 2*x +1;
else
d += 2*(x-y) + 1;*/
circlePoints (x,y,xc,yc);
}
}
我想知道如何用特定颜色填充这个圆圈?我可以使用多边形填充,但不确定我如何在这里实现。