Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Brigada2 / Курсовой проект ООП Галкин_Прошкин.doc
Скачиваний:
24
Добавлен:
15.04.2015
Размер:
733.18 Кб
Скачать

Министерство образования РФ

Государственное Образовательное Учреждение

Высшего Профессионального Образования

Рязанский государственный радиотехнический университет

Кафедра АИТУ

Курсовой проект по дисциплине

"Объектно-ориентированное программирование" на тему:

«Разработка растрового графического редактора»

Выполнили ст.гр. 631:

Галкин П.С.

Проверил:

Бохан К. А.

Рязань 2008 г.

Содержание

  1. Задание на курсовую работу…………………………...3

  2. Введение …………………………………………………..4

  3. Создание форм……………………………………………5

    1. Главная форма………………………………………...5

    2. Форма рисования……………………………………..5

    3. Форма изменения размера…………………………..5

    4. Форма фильтра………………………………………..5

  4. Создание картинки………………………………………6

    1. Создание нового………………………………………6

    2. Закрытие формы рисования………………………...7

    3. Открытие картинки…………………………………..8

  5. Редактирование…………………………………………10

    1. Движение ползунка………………………………….10

    2. Создание главной формы…………………………...12

    3. Выбор инструмента…………………………………..13

  6. Процесс рисования………………………………………14

    1. Нажатие клавиши мыши……………………………14

    2. Вызов контекстного меню…………………………..16

    3. Движение курсора……………………………………16

    4. Отпускание клавиши мыши………………………..23

    5. Копирование…………………………………………..27

    6. Откат……………………………………………………29

    7. Вставка…………………………………………………30

  7. Изменение размера………………………………………30

  8. Фильтр……………………………………………………..31

  9. Сохранение………………………………………………..35

  10. Справка …………………………………………………...35

  11. Выход………………………………………………………35

  12. Заключение……………………………………………….36

  13. Приложение.………………………………………………37

  1. Задание на курсовую работу.

Разработать растровый графический редактор, отвечающий представленным требованиям в соответствии с заданным вариантом.

Требования к редактору

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

  2. Загрузка и сохранение графических файлов в формате BMP.

  3. Поддержка до 10 окон редактирования(внести соответствующую проверку в код).

  4. Поддержка буфера обмена.

  5. Возможность «отката» последней операции редактирования.

  6. Возможность изменения размеров изображения (с масштабированием и без него).

  7. Поддержка инструментов: кисть, ластик, линия, эллипс, многоугольник с индивидуальными параметрами (толщина, количество углов).

  8. Персональные (нестандартные) курсоры в режиме редактирования для каждого инструмента.

  9. Возможность выбора цветов рисования и заливки.

  10. Переключение между инструментами с помощью панели инструментов и с помощью контекстного меню окна редактирования.

  11. Отображение дополнительной информации в строке состояния формы редактируемым изображением (режима работы, текущих координат курсора в окне редактирования и цвета пикселя под ним).

  12. Реализация графического фильтра - «Модальный фильтр по области от 3х3 до 7х7».

  13. Наличие справочной системы по основным функциям редактора.

2. Введение.

Данный курсовой проект подробно освещает разработку растрового графического редактора. Описание программы идет в предполагаемом режиме работы, т.е. от создания форм и задания переменных к редактированию изображения.

  1. Создание форм

Для выполнения задания и удобства пользования программой разнесем отдельные функции в разные модули, а главные элементы управления поместим на разных формах.

    1. Главная форма приложения

На главной форме разрабатываемого приложения будут помещены основные элементы управления, с неё будет происходить вызов всех остальных окон. В программном модуле формы будут храниться некоторые глобальные переменные, необходимые для корректной работы программы и удобства рисования.

3.2 Форма рисования

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

3.3 Форма изменения размера

На форме изменения размера поместим два поля для ввода ширины и высоты картинки. Помимо них поместим кнопки подтверждения, закрытия формы, а так же кнопки выполнения условий масштабирования.

3.4 Форма фильтра

Форма фильтра используется для выбора параметров фильтра и хранения алгоритма действий, выполняемых при фильтрации картинки.

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

Для создания нового изображения используем процедуру нажатия на кнопку главного меню на главной форме «Новая картинка» (procedure Tredactor.newClick) или «Открыть» для открытия изображения. В этой же процедуре реализуем проверку на открытие более 10 окон редактирования картинки. При нажатии на кнопку происходит проверка числа созданных форм редактирования, если создается одиннадцатая форма – выводится сообщение об этом, в ином случае происходит создание формы. Блок схема процедуры создания приведена ниже.

Да

Нет

Схема 1. Блок-схема создания новой формы.

Данная блок схема рассматривает нажатие на кнопку новое изображение.