所以我遇到了一个相当困难的问题。
我有点想要这样的方法:
public Color[][] createCircle(Color c, int d)
{
Color[][] Data = new Color[d][d];
//fillColorArrayForCircle(Data);
return Data;
}
理论上,此方法将直径 d 的圆(未填充)渲染为 2D 彩色数组,然后返回它。(圆圈的所有内容都是颜色 C,其余部分为空。圆心位于 [d-(d-1)/2]²)但是我不知道如何确定"像素"需要在什么位置。
我也抬起头 http://en.wikipedia.org/wiki/Midpoint_circle_algorithm,但我不明白。(极其复杂的海事组织)
如果你们中的一个人能向我展示正确的实现和/或向我解释我如何想出一个,那就太好了。问候!
如果这是某种家庭作业,那么这个答案不会令人满意,但如果这是一个真正的问题,那么解决方法如下:
- 创建缓冲映像
- 使用 Java2D API 在其上渲染一个圆。让它做艰苦的工作。您也可以以这种方式抗锯齿。
- 读取图像的像素值,并相应地构建数组。