在没有内置方法的情况下在网格上填充一个圆圈?

Fill a circle on a grid without builtin methods?

我想使用 drawOval() 等内置方法用颜色 填充图像中的圆圈。我找到了绘制圆边界的算法,但我不知道如何制作实心圆。

遍历坐标从 center.Y - Rcenter.Y + R 的行并填充所需长度的水平线。

 for dy = - R to  R
    dx  = Math.Sqrt(R * R - dy * dy)    //semi-width
    drawline(center.X - dx, center.Y + dy, center.X + dx, center.Y + dy)

就这些了。

(如果您已经使用了一些画圆算法,例如 midpoint one 或 Bresenham one,您可以用该算法的值替换 dx 和 dy)