This shows you the differences between two versions of the page.
project_ulyanov [2017/03/13 10:55] tatyana.berlenko created |
project_ulyanov [2022/12/10 09:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Чекер для работы с 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 заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены, например, размер). | ||