Обработка формата BMP
Общие требования -- представлены [[..:5|тут]]
-----
Программа должна иметь следующую функции по обработке изображений:
- Инверсия цвета в заданной области. Флаг для выполнения данной операции: ''--inverse''. Функциональность определяется
- Координатами левого верхнего угла области. Флаг ''--left_up'', значение задаётся в формате ''left.up'', где left – координата по x, up – координата по y
- Координатами правого нижнего угла области. Флаг ''--right_down'', значение задаётся в формате ''right.down'', где right – координата по x, down – координата по y
- Преобразовать в Ч/Б изображение (формулу можно посмотреть на [[https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D1%82%D0%B5%D0%BD%D0%BA%D0%B8_%D1%81%D0%B5%D1%80%D0%BE%D0%B3%D0%BE|wikipedia]]). Флаг для выполнения данной операции: ''--gray''. Функциональность определяется
- Координатами левого верхнего угла области. Флаг ''--left_up'', значение задаётся в формате ''left.up'', где left – координата по x, up – координата по y
- Координатами правого нижнего угла области. Флаг ''--right_down'', значение задаётся в формате ''right.down'', где right – координата по x, down – координата по y
- Изменение размера изображения с его обрезкой или расширением фона. Флаг для выполнения данной операции: ''--resize''. Функциональность определяется:
- Количеством изменения пикселей с определенной стороны в формате: ''-- '', где '''' может принимать значения left (с левой стороны изменение), right (с правой стороны), above (с верхней стороны), below (с нижней стороны); '''' является числом: положительное означает расширение, отрицательное означает обрезку. Например, следующие флаги ''--resize --left 100 --above -100 --below 30 --right -20'' означает, что нужно расширить изображение слева на 100 пикселей и снизу на 30, и обрезать изображение сверху на 100 пикселей и справа на 20 пикселей.
- Цветом фона при расширении изображения. Флаг ''--color'' (цвет задаётся строкой ''rrr.ggg.bbb'', где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример ''--color 255.0.0'' задаёт красный цвет)
- Рисование отрезка. Флаг для выполнения данной операции: ''--line''. Отрезок определяется:
- координатами начала. Флаг ''--start'', значение задаётся в формате ''x.y'', где x – координата по x, y – координата по y
- координатами конца. Флаг ''--end'' (аналогично флагу ''--start'')
- цветом. Флаг ''--color'' (цвет задаётся строкой ''rrr.ggg.bbb'', где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример ''--color 255.0.0'' задаёт красный цвет)
- толщиной. Флаг ''--thickness''. На вход принимает число больше 0