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

4.2. Закрытие формы

Блок-схема №1 показывает последовательность действий при нажатии на кнопку «Новая картинка». В случае если до нажатия на кнопку происходило закрытие формы рисования – это надо учесть, чтобы не произошло переполнение массива форм и не открывалось более 10 форм рисования. Это реализовано в процедуре TPic.FormCloseQuery (Закрытие формы рисования). В данной процедуре введены вспомогательные переменные (счетчики) для цикла прохода по всем формам.

Да

Нет

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

4.3. Открытие картинки

Вслучае нажатия на кнопку «Открыть» происходит проверка наличия открытых форм. Если ни одна форма не открыта, то открывается новая форма и в нее загружается картинка. В данной процедуре использованы локальные переменные для временного хранения открываемой картинки, а так же, переменные для хранения высоты и ширины открываемой картинки.

Да

Да

Схема 3. Блок-схема нажатия на кнопку «Открыть картинку».

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

После открытия или создания картинки можно приступать к рисованию. Для этого мы поместили соответствующие элементы на главную форму. На ней размещены кнопки которые соответственно включают инструменты рисования (Кисть, Линия, Стерка, Прямоугольник, Овал, Многоугольник, режим Выделения), панели выбора цвета и объект который изменяет толщину линий рисования.

5.1. Движение ползунка

Считывание толщины линий происходит в процедуре перемещения ползунка TrackBar1.

Да

Да

Нет

Да

Нет

Да

Нет

Да

Нет

Да

Нет

Нет

Схема 4. Блок-схема движения ползунка TrackBar1.

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

Начальные значения переменных задаются при создании главной формы.

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

5.3. Выбор инструмента

Для того чтобы сохранять значение толщины линий разных инструментов мы создали различные переменные и перезаписываем их в зависимости от нажатия кнопок. При нажатии на каждую кнопку выбора инструментов происходит установка ползунка TrackBar1 в соответствующее толщине положение. Далее идет перезапись переменной и деактивация SpinEdit1.

Схема 6. Блок-схема нажатия на кнопку «Линия».

По аналогичным схемам построены нажатия на остальные кнопки инструментов. Отличается лишь процедура нажатия на кнопку Многоугольник. В ней происходит активация SpinEdit1.

6. Процедуры рисования.

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

Все основные действия над картинкой происходят в процедурах Image1MouseDown (нажатие на кнопку мыши), Image1MouseMove (движение курсора), Image1MouseUp (отпускание кнопки мыши).