Чекер для работы с BMP файлом

Задача

Общая постановка задачи

Обработка файла в формате BMP.

Требуется реализовать программу, которая:

рисует вписанную окружность белого цвета в заданную область и квадрат, вписанный в окружность, белого цвета. Толщина линий 1 пиксель.

заполняет пространство вне области черным цветом.

вырезает полученное изображение.

сохраняет результат в новом файле.

Команды выполняются последовательно, в том порядке, в котором описаны.

Параметры

Программа получает параметры из входного потока и должна проверить их корректность. Параметры:

input_file

x0

y0

x1

y1

input - BMP файл

x0 y0 левый верхний угол области (отсчет с точки 0, 0)

x1 y1 правый нижний угол области ! Область должна быть квадратной.

В случае, если координаты идентифицируют неквадратную область, то:

операционной системе возвращается ненулевой код возврата (return в main)

не создается выходного в файла

программа должна вывести строку «The area isn't correctly defined».

Общие сведения

24 бита на цвет

без сжатия

файл всегда соответствует формату (проверять не нужно)

обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями.

обратите внимание на порядок записи пикселей

все поля стандартных BMP заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены, например, размер).