Обработка формата PNG Общие требования -- представлены [[..:5|тут]] ----- Программа должна иметь следующую функции по обработке изображений: - Разделяет изображение на 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'' задаёт красный цвет) - Рисование прямоугольника. Флаг для выполнения данной операции: ''--rect''. Он определяется: - Координатами левого верхнего угла. Флаг ''--left_up'', значение задаётся в формате ''left.up'', где left – координата по x, up – координата по y - Координатами правого нижнего угла. Флаг ''--right_down'', значение задаётся в формате ''right.down'', где right – координата по x, down – координата по y - Толщиной линий. Флаг ''--thickness''. На вход принимает число больше 0 - Цветом линий. Флаг ''--color'' (цвет задаётся строкой ''rrr.ggg.bbb'', где rrr/ggg/bbb – числа, задающие цветовую компоненту. пример ''--color 255.0.0'' задаёт красный цвет) - Прямоугольник может быть залит или нет. Флаг ''--fill''. Работает как бинарное значение: флага нет – false , флаг есть – true. - цветом которым он залит, если пользователем выбран залитый. Флаг ''--fill_color'' (работает аналогично флагу ''--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 - При необходимости можно добавить дополнительные флаги для необозначенных узоров - Поворот изображения (части) на 90/180/270 градусов. Флаг для выполнения данной операции: ''--rotate''. Функциональность определяется - Координатами левого верхнего угла области. Флаг ''--left_up'', значение задаётся в формате ''left.up'', где left – координата по x, up – координата по y - Координатами правого нижнего угла области. Флаг ''--right_down'', значение задаётся в формате ''right.down'', где right – координата по x, down – координата по y - Углом поворота. Флаг ''--angle'', возможные значения: ''90'', ''180'', ''270''