Написать программу на языке C

Срочно
Ожидает скачивания
Заказ
6104736
Раздел
Программирование
Антиплагиат
Не указан
Срок сдачи
20 Мая 2024 в 15:00
Цена
5 500 ₽
Блокировка
5 дней
Размещен
18 Мая 2024 в 14:10
Просмотров
124
Описание работы

Нужно реализовать программу, работающую с изображениями.

Программа обязательно должна иметь CLI.

Программа должна реализовывать весь следующий функционал по обработке bmp-файла

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

  • 24 бита на цвет
  • без сжатия
  • файл может не соответствовать формату BMP, т.е. необходимо проверка на BMP формат (дополнительно стоит помнить, что версий у формата несколько). Если файл не соответствует формату BMP или его версии, то программа должна завершиться с соответствующей ошибкой.
  • обратите внимание на выравнивание; мусорные данные, если их необходимо дописать в файл для выравнивания, должны быть нулями.
  • обратите внимание на порядок записи пикселей
  • все поля стандартных BMP заголовков в выходном файле должны иметь те же значения что и во входном (разумеется кроме тех, которые должны быть изменены).

Программа должна иметь следующую функции по обработке изображений:


  • (1) Рисование квадрата. Флаг для выполнения данной операции: `--square`. Квадрат определяется:
  • Координатами левого верхнего угла. Флаг `--left_up`, значение задаётся в формате `left.up`, где left – координата по x, up – координата по y
  • Размером стороны. Флаг `--side_size`. На вход принимает число больше 0
  • Толщиной линий. Флаг `--thickness`. На вход принимает число больше 0
  • Цветом линий. Флаг `--color` (цвет задаётся строкой `rrr.ggg.bbb`, где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример `--color 255.0.0` задаёт красный цвет)
  • Может быть залит или нет. Флаг `--fill`. Работает как бинарное значение: флага нет – false , флаг есть – true.
  • Цветом которым он залит, если пользователем выбран залитый. Флаг `--fill_color` (работает аналогично флагу `--color`)
  • (2) Поменять местами 4 куска области. Флаг для выполнения данной операции: `--exchange`. Выбранная пользователем прямоугольная область делится на 4 части и эти части меняются местами. Функционал определяется:
  • Координатами левого верхнего угла области. Флаг `--left_up`, значение задаётся в формате `left.up`, где left – координата по x, up – координата по y
  • Координатами правого нижнего угла области. Флаг `--right_down`, значение задаётся в формате `right.down`, где right – координата по x, down – координата по y
  • Способом обмена частей: “по кругу”, по диагонали. Флаг `--exchange_type`, возможные значения: `clockwise`, `counterclockwise`, `diagonals`
  • (3) Находит самый часто встречаемый цвет и заменяет его на другой заданный цвет. Флаг для выполнения данной операции: `--freq_color`. Функционал определяется:
  • Цветом, в который надо перекрасить самый часто встречаемый цвет. Флаг `--color` (цвет задаётся строкой `rrr.ggg.bbb`, где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример `--color 255.0.0` задаёт красный цвет)


Все подзадачи, ввод/вывод должны быть реализованы в виде отдельной функции. 

Желательно написать небольшую записку к программе, описывающую ее действия.


Ссылка на оригинальный файл, 4 вариант: https://docs.google.com/document/d/1TeSpx0si3cECBwiTmh_sisEdmUmGpzdKwbpaQeAWSWw/edit

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.63
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир
Ошибка при загрузке заказов 1
×