courses:programming:cw_vars:spring:5:5.8
Обработка формата BMP
Общие требования – представлены тут
Программа должна иметь следующую функции по обработке изображений:
- Поиск всех залитых прямоугольников заданного цвета. Флаг для выполнения данной операции:
–filled_rects. Требуется найти все прямоугольники заданного цвета и обвести их линией. Функциональность определяется:- Цветом искомых прямоугольников. Флаг
–color(цвет задаётся строкойrrr.ggg.bbb, где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример–color 255.0.0задаёт красный цвет) - Цветом линии для обводки. Флаг
–border_color(работает аналогично флагу–color) - Толщиной линии для обводки. Флаг
–thickness. На вход принимает число больше 0 - Подсказка по алгоритму: Поиск прямоугольников выполняется построчным просмотром («сканированием») изображения с объединением одинаковых цветовых отрезков из соседних строк в прямоугольные области. Все найденные прямоугольники затем обводятся линией указанного цвета заданной толщины.
- Рисование окружности. Флаг для выполнения данной операции:
–circle. Окружность определяется:- координатами ее центра и радиусом. Флаги
–centerи–radius. Значение флаг–centerзадаётся в форматеx.y, где x – координата по оси x, y – координата по оси y. Флаг–radiusНа вход принимает число больше 0 - толщиной линии окружности. Флаг
–thickness. На вход принимает число больше 0 - цветом линии окружности. Флаг
–color(цвет задаётся строкойrrr.ggg.bbb, где rrr/ggg/bbb – числа, задающие цветовую - компоненту. пример–color 255.0.0задаёт красный цвет) - окружность может быть залитой или нет. Флаг
–fill. Работает как бинарное значение: флага нет – false , флаг есть – true. - цветом которым залита сама окружность, если пользователем выбрана залитая окружность. Флаг
–fill_color(работает аналогично флагу–color)
- Фильтр rgb-компонент. Флаг для выполнения данной операции:
–rgbfilter. Этот инструмент должен позволять для всего - изображения либо установить в диапазоне от 0 до 255 значение заданной компоненты. Функциональность определяется- Какую компоненту требуется изменить. Флаг
–component_name. Возможные значенияred,greenиblue. - В какой значение ее требуется изменить. Флаг
–component_value. Принимает значение в виде числа от 0 до 255
- Разделяет изображение на N*M частей, а линии требуемой толщины должны рисоваться между ними. Расстояния между блоками - thickenss (то есть изображение будет расширено на количество линий по оси * толщину). При определении участка, в который будет использоваться крайний пиксель округление выполнять в соответствии с математическими правилами округления. Флаг для выполнения данной операции:
–split. Реализация: провести линии заданной толщины. функциональность определяется:- Количество частей по “оси” Y. Флаг
–number_x. На вход принимает число больше 1 - Количество частей по “оси” X. Флаг
–number_y. На вход принимает число больше 1 - Толщина линии. Флаг
–thickness. На вход принимает число больше 0 - Цвет линии. Флаг
–color(цвет задаётся строкойrrr.ggg.bbb, где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример–color 255.0.0задаёт красный цвет)
courses/programming/cw_vars/spring/5/5.8.txt · Последнее изменение: — 127.0.0.1
