Обработка формата PNG Общие требования -- представлены [[..:5|тут]] ----- Программа должна иметь следующую функции по обработке изображений: - Копирование заданной области. Флаг для выполнения данной операции: ''--copy''. Функциональность определяется: - Координатами левого верхнего угла области-источника. Флаг ''--left_up'', значение задаётся в формате ''left.up'', где left – координата по x, up – координата по y - Координатами правого нижнего угла области-источника. Флаг ''--right_down'', значение задаётся в формате ''right.down'', где - right – координата по x, down – координата по y - Координатами левого верхнего угла области-назначения. Флаг ''--dest_left_up'', значение задаётся в формате ''left.up'', где left – координата по x, up – координата по y - Заменяет все пиксели одного заданного цвета на другой цвет. Флаг для выполнения данной операции: ''--color_replace''. Функциональность определяется: - Цвет, который требуется заменить. Флаг ''--old_color'' (цвет задаётся строкой ''rrr.ggg.bbb'', где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример ''--old_color 255.0.0'' задаёт красный цвет) - Цвет на который требуется заменить. Флаг ''--new_color'' (работает аналогично флагу ''--old_color'') - Сделать рамку в виде узора. Флаг для выполнения данной операции: ''--ornament''. Рамка определяется: - Узором. Флаг ''--pattern''. Обязательные значения: rectangle и circle, semicircles. Также можно добавить свои узоры (красивый узор можно получить используя фракталы). Подробнее здесь: https://se.moevm.pro/doku.php/courses:programming:cw_spring_ornament - Цветом. Флаг ''--color'' (цвет задаётся строкой ''rrr.ggg.bbb'', где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример ''--color 255.0.0'' задаёт красный цвет) - Шириной. Флаг ''--thickness''. На вход принимает число больше 0 - Количеством. Флаг ''--count''. На вход принимает число больше 0 - При необходимости можно добавить дополнительные флаги для необозначенных узоров - Поиск всех залитых прямоугольников заданного цвета. Флаг для выполнения данной операции: ''--filled_rects''. Требуется найти все прямоугольники заданного цвета и обвести их линией. Функциональность определяется: - Цветом искомых прямоугольников. Флаг ''--color'' (цвет задаётся строкой ''rrr.ggg.bbb'', где rrr/ggg/bbb – числа, задающие - цветовую компоненту. пример ''--color 255.0.0'' задаёт красный цвет) - Цветом линии для обводки. Флаг ''--border_color'' (работает аналогично флагу ''--color'') - Толщиной линии для обводки. Флаг ''--thickness''. На вход принимает число больше 0 - //Подсказка по алгоритму//: Поиск прямоугольников выполняется построчным просмотром ("сканированием") изображения с объединением одинаковых цветовых отрезков из соседних строк в прямоугольные области. Все найденные прямоугольники затем обводятся линией указанного цвета заданной толщины.