Как нарисовать закрашенный круг?

Я создаю битовые / BMP-файлы в соответствии со спецификациями с моим C-кодом, и я хотел бы нарисовать простые примитивы на своем битовом массиве. Следующий код показывает, как я рисую прямоугольник на моем растровом изображении:

if(curline->type == 1) // draw a rectangle
{
    int xstart = curline->x;
    int ystart = curline->y;
    int width = curline->width + xstart;
    int height = curline->height + ystart;

    int x = 0;
    int y = 0;

    for(y = ystart; y < height; y++)
    {
      for(x = xstart; x < width; x++)
      {
        arr[x][y].blue = curline->blue;
        arr[x][y].green = curline->green;
        arr[x][y].red = curline->red;
      }
    }

    printf("rect drawn.\n");
}

...
save_bitmap();

Пример вывода: 

Так что в основном яm устанавливает значения красного, зеленого и синего для всех пикселей в данном поле x и y.

Сейчас я'Я хотел бы заполнить круг, зная его среднюю точку и радиус. Но как я узнаю, какие пиксели находятся внутри этого круга, а какие нет?т? Любая помощь будет оценена, спасибо за чтение.

Ответы на вопрос(2)

Ваш ответ на вопрос