在没有内置方法的情况下在网格上填充一个圆圈?
Fill a circle on a grid without builtin methods?
我想使用 drawOval()
等内置方法用颜色 不 填充图像中的圆圈。我找到了绘制圆边界的算法,但我不知道如何制作实心圆。
遍历坐标从 center.Y - R
到 center.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)
我想使用 drawOval()
等内置方法用颜色 不 填充图像中的圆圈。我找到了绘制圆边界的算法,但我不知道如何制作实心圆。
遍历坐标从 center.Y - R
到 center.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)