Результат работы приложения




МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования

«Новосибирский государственный технический университет»

Кафедра систем сбора и обработки данных

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по программированию

на тему: «Разработка Windows приложения. Редактор растровых изображений»

 

 

Факультет: АВТ

Группа: АТ-63

Студент: Тихонов В. А.

Преподаватель: Воронов В. В.


Содержание

 

1. Техническое задание. 3

2. Описание алгоритмов работы инструментов. 3

2.1. Карандаш.. 3

2.2. Кисть. 3

2.3. Прямая линия. 4

2.4. Ластик. 4

2.5. Заливка. 4

2.6. Пипетка. 5

3. Результат работы приложения. 5

Приложение А. Некоторые выдержки из кода программы.. 10

 


Техническое задание

Разработать приложение «графический редактор растровых изображений» с использованием технологии Visual C++/CLI.

Список возможностей

Создание нового изображения;

Открытие имеющегося изображения (PNG/GIF/JPG/BMP) для редактирования;

Редактирование изображения с использованием доступного набора инструментов;

Сохранение изображения в файл (PNG);

Выбор цвета с помощью палитры.

Доступный набор инструментов

Инструмент Возможность изменения толщины
Карандаш Нет
Кисть Да
Прямая линия Да
Ластик Да
Заливка Нет
Пипетка Нет

 

Описание алгоритмов работы инструментов

Карандаш

Карандаш - инструмент, позволяющий провести сплошную произвольную линию выбранного цвета толщиной в 1 пиксель.

При нажатии левой кнопкой мыши на область изображения в указанное место ставится точка 1х1 и положение точки запоминается как "предыдущая точка".

При движении с зажатой левой кнопкой мыши текущая точка соединяется с предыдущей точкой прямой линией.

Кисть

Кисть - инструмент, позволяющий провести сплошную произвольную линию выбранного цвета толщиной в указанное количество пикселей N.

При нажатии левой кнопкой мыши на область изображения рисуется окружность с центром в указанном месте и диаметром N, и положение точки запоминается как "предыдущая точка".

При движении с зажатой левой кнопкой мыши производится следующая последовательность действий: текущая точка соединяется с предыдущей прямой линией толщины N, и рисуется окружность с центром в текущей точке и диаметром N.

Прямая линия

Прямая линия - инструмент, позволяющий провести сплошную прямую линию выбранного цвета, толщиной в указанное количество пикселей N. Для того, чтобы позволить пользователю лучшее представление при рисовании прямых линий, используется предпросмотр - линия не будет фактически нарисована, пока не будет отпущена кнопка мыши.

При нажатии левой кнопкой мыши на область изображения положение точки запоминается как "начальная точка".

При движении с зажатой левой кнопкой мыши текущая точка соединяется с начальной точкой прямой линией на временном холсте для предпросмотра.

При отпускании левой кнопки мыши текущая точка соединяется с начальной точкой прямой линией.

Ластик

Ластик - инструмент, позволяющий провести сплошную произвольную линию белого цвета толщиной в указанное количество пикселей N. Ластик аналогичен кисти.

При нажатии левой кнопкой мыши на область изображения рисуется окружность с центром в указанном месте и диаметром N, и положение точки запоминается как "предыдущая точка".

При движении с зажатой левой кнопкой мыши производится следующая последовательность действий: текущая точка соединяется с предыдущей прямой линией толщины N, и рисуется окружность с центром в текущей точке и диаметром N.

Заливка

Заливка - инструмент, позволяющий в замкнутой области заменить один цвет на другой. Замкнутость области определяется цветом соседних пикселей (в данной работе реализована 4-связная заливка) и/или границами изображения.

При нажатии левой кнопкой мыши на область изображения выполняется следующий алгоритм:

· Запомнить цвет в точке нажатия (prev_color);

· Добавить в стек координаты точки нажатия;

· Пока стек не пуст:

o Взять из стека координаты точки;

o Если цвет этой точки равен fill_color, перейти к следующей итерации;

o Если цвет этой точки равен prev_color:

§ Перекрасить точку в fill_color;

§ Если точка с координатами (x-1, y) не за границами, добавить их в стек;

§ Если точка с координатами (x, y-1) не за границами, добавить их в стек;

§ Если точка с координатами (x+1, y) не за границами, добавить их в стек;

§ Если точка с координатами (x, y+1) не за границами, добавить их в стек.

Пипетка

Пипетка - инструмент, позволяющий установить в качестве текущего цвет указанного пикселя изображения.

При нажатии левой кнопкой мыши на область изображения текущим цветом становится цвет пикселя с координатами, соответствующими координатам нажатия.

Результат работы приложения

Интерфейс приложения представлен на рис. 1.

Рис. 1. Интерфейс приложения


 

Меню приложения

Рис. 2. Меню приложения

Выбор цвета из палитры:

Рис. 3. Палитра


 

Инструмент "карандаш"

Рис. 4. Инструмент "карандаш"

Инструмент "кисть"

Рис. 5. Инструмент "кисть"


Инструмент "линия"

Рис. 6. Инструмент "линия"

Инструмент "ластик"

Рис. 7. Инструмент "ластик"


 

Инструмент "заливка"

Рис. 8. Инструмент "заливка"

Инструмент "пипетка"

Рис. 9. Инструмент "пипетка".


 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: