关于xna:获取圆圈内的所有像素数组


Get all pixel array inside circle

我有这个:

enter

r 是圆的半径,(m1, m2) 是圆心。

为了让这些像素遍历所有位置并将符合条件的像素存储在列表中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
List<int> indices = new List<int>();

for (int x = 0; x < width; x++)
{
    for (int y = 0; y < height; y++)
    {
        double dx = x - m1;
        double dy = y - m2;
        double distanceSquared = dx * dx + dy * dy;

        if (distanceSquared <= radiusSquared)
        {
            indices.Add(x + y * width);
        }
    }
}