====== Чекер для работы с BMP файлом ====== ===== Задача ===== ==== Общая постановка задачи ==== Обработка файла в формате BMP. Требуется реализовать программу, которая: - отражает заданную область по вертикали. - делит область на 4 равные части и меняет их местами по диагонали. - если заданная область является квадратом, вписывает в нее окружность белого цвета с толщиной линии 1 пиксель, иначе заливает область черным цветом. - сохраняет результат в новом файле. (число здесь идентифицирует номер команды) ==== Параметры ==== Программа получает параметры из входного потока и должна проверить их корректность. Параметры: * input_file * x0 * y0 * x1 * y1 * commands * input_file - BMP файл * x0 y0 левый верхний угол области (отсчет с точки 0, 0) * x1 y1 правый нижний угол области * commands - числовой массив неизвестной длины, который хранит в себе последовательность функций обработки входного файла. Массив заканчивается числом 4 - функцией сохранения результата в новом файле. В случае, если программа получила некорректные параметры, то: * операционной системе возвращается ненулевой код возврата (return в main) * не создается выходного в файла * выводится сообщение об ошибке "Fail with <имя параметра>". ==== Общие сведения ==== * 24 бита на цвет * без сжатия * файл всегда соответствует формату (проверять не нужно) * обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями. * обратите внимание на порядок записи пикселей * все поля стандартных BMP заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены).