User Tools

Site Tools


Sidebar






Old

project_kovinev

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

Задача

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

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

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

  1. находит в файле самый большой белый прямоугольник и выводит координаты левого верхнего угла и правого нижнего.
  2. рисует прямоугольный треугольник в заданной области черным цветом. Прямой угол должен лежать в левом нижнем углу области, длина катетов определяется длиной стороны области, к которой они прилегают, и равна половине этой стороны.
  3. отражает область в файле по горизонтали.
  4. сохраняет результат в новом файле.

(число здесь идентифицирует номер команды)

Параметры

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

  • input_file
  • x0
  • y0
  • x1
  • y1
  • commands
  • input - BMP файл
  • x0 y0 левый верхний угол области (отсчет с точки 0, 0)
  • x1 y1 правый нижний угол области
  • commands - числовой массив неизвестной длины, который хранит в себе последовательность функций обработки входного файла. Массив заканчивается числом 4 - функцией сохранения результата в новом файле.

В случае, если программа получила некорректные параметры, то:

  • операционной системе возвращается ненулевой код возврата (return в main)
  • не создается выходного в файла
  • выводится сообщение об ошибке “Fail with <имя параметра>”.

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

  • 24 бита на цвет
  • без сжатия
  • файл всегда соответствует формату (проверять не нужно)
  • обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями.
  • обратите внимание на порядок записи пикселей
  • все поля стандартных BMP заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены).
project_kovinev.txt · Last modified: 2022/12/10 09:08 (external edit)