Обработка формата BMP Общие требования -- представлены [[..:5|тут]] ----- Программа должна иметь следующую функции по обработке изображений: - Фильтр rgb-компонент. Флаг для выполнения данной операции: ''--rgbfilter''. Этот инструмент должен позволять для всего изображения либо установить в диапазоне от 0 до 255 значение заданной компоненты. Функциональность определяется - Какую компоненту требуется изменить. Флаг ''--component_name''. Возможные значения ''red'', ''green'' и ''blue''. - В какой значение ее требуется изменить. Флаг ''--component_value''. Принимает значение в виде числа от 0 до 255 - Рисование квадрата. Флаг для выполнения данной операции: ''--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'') - Поменять местами 4 куска области. Флаг для выполнения данной операции: ''--exchange''. Выбранная пользователем прямоугольная область делится на 4 части и эти части меняются местами. Функциональность определяется: - Координатами левого верхнего угла области. Флаг ''--left_up'', значение задаётся в формате ''left.up'', где left – координата по x, up – координата по y - Координатами правого нижнего угла области. Флаг ''--right_down'', значение задаётся в формате ''right.down'', где right – координата по x, down – координата по y - Способом обмена частей: “по кругу”, по диагонали. Флаг ''--exchange_type'', возможные значения: ''clockwise'', ''counterclockwise'', ''diagonals'' - //Особенность работы системы//: Координаты используются по принципу [left_up, right_down). При нечетной длине размер берется как 2 целой части деления на пополам. Пример -- left_up = 96.112, right_down = 299.175 -> 175 - 112 = 63 -> 63 / / 2 = 31 -> 2 * 31 = 62 строки будет изменено -> по вертикали меняются строки 112..173 , а не 112..175 - Находит самый часто встречаемый цвет и заменяет его на другой заданный цвет. Флаг для выполнения данной операции: ''--freq_color''. Функциональность определяется: - Цветом, в который надо перекрасить самый часто встречаемый цвет. Флаг ''--color'' (цвет задаётся строкой ''rrr.ggg.bbb'', где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример ''--color 255.0.0'' задаёт красный цвет)