48553 (Разработка графического редактора), страница 2

2016-07-30СтудИзба

Описание файла

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

Онлайн просмотр документа "48553"

Текст 2 страницы из документа "48553"

begin

with image1.Canvas do

begin

Pen.Mode :=amode;

case DrawingTool of

dtHandle: //КАРАНДАШ

begin

Pen.Mode :=pmcopy;

image1.Canvas.Pixels[topleft.x,topleft.y]:=colordialog1.Color;

image1.Canvas.LineTo(BottomRight.X, BottomRight.Y);

end;

dtLine: //РИСОВАНИЕ ЛИНИИ

begin

image1.Canvas.MoveTo(TopLeft.X, TopLeft.Y);

image1.Canvas.LineTo(BottomRight.X, BottomRight.Y);

end;

dtPolyline: //ПИРАМИДА

begin

image1.Canvas.Polyline([origin, movept, point(spinedit1.Value, spinedit2.Value)]);

end;

dtSpray: //РАСПЫЛИТЕЛЬ

begin

Pen.Mode :=pmcopy;

for i:=1 to 20 do

begin

image1.Canvas.Pixels[BottomRight.X+random(20),

BottomRight.Y+random(20)]:=colordialog1.Color;

end;

end;

dtFonty: //ВЫВОД ТЕКСТА

begin

image1.Canvas.TextOut(bottomright.x,bottomright.y,edit1.Text);

end;

dtRomb: //РОМБ

begin

image1.Canvas.MoveTo(topleft.x+((bottomright.x-topleft.x) div 2),topleft.y);

image1.Canvas.LineTo(bottomright.x, bottomright.y-((bottomright.y-topleft.y) div 2));

image1.Canvas.MoveTo(topleft.x+((bottomright.x-topleft.x) div 2),topleft.y);

image1.Canvas.LineTo(topleft.x, topleft.y+((bottomright.y-topleft.y) div 2));

image1.Canvas.LineTo(topleft.x+((bottomright.x-topleft.x) div 2),bottomright.y);

image1.Canvas.LineTo(bottomright.x, bottomright.y-((bottomright.y-topleft.y) div 2));

end;

dtRectangle: //РИСОВАНИЕ ПРЯМОУГОЛЬНИКА

image1.Canvas.Rectangle(TopLeft.X, TopLeft.Y, BottomRight.X,

BottomRight.Y);

dtEllipse: //РИСОВАНИЕ ЭЛЛИПСА

image1.Canvas.Ellipse(Topleft.X, TopLeft.Y, BottomRight.X,

BottomRight.Y);

dtGum: //ЛАСТИК

begin

Pen.Mode :=pmcopy;

pen.Color:=clwhite;

pen.Width:=10;

image1.Canvas.Pixels[topleft.x,topleft.y]:= clwhite;

image1.Canvas.LineTo(BottomRight.X, BottomRight.Y);

end;

dtBottle: //ЗАЛИВКА

image1.Canvas.FloodFill(topleft.x,topleft.y,image1.Canvas.Pixels[topleft.x,topleft.y],

fssurface);

dtRoundRect: //РИСОВАНИЕ СКРУГЛЁННОГО ПРЯМОУГОЛЬНИКА

image1.Canvas.RoundRect(TopLeft.X, TopLeft.Y, BottomRight.X, BottomRight.Y, (TopLeft.X - BottomRight.X) div 2,

(TopLeft.Y - BottomRight.Y) div 2);

end;

end;

end;

Полный текст всех модулей приведен в Приложении А.

Были использованы методы класса Tpicture:

LoadFromFile - загрузка изображения из файла

SaveToFile - сохранение изображения в файле,

Эти методы по умолчанию выводят диалоговые окна с помощью которых легко открывать и сохранять графические файлы.

При создании рисунка в программе используется объект Bitmap: Tbitmap, который создается конструктором Bitmap.Create, а затем уничтожается при помощи процедуры Bitmap.Free. Bitmap.Free автоматически вызывает деструктор объекта, если объект инициализирован, а если объект не создан, то деструктор не вызывается, что обеспечивает корректную работу программы.

При написании программы были соблюдены основные рекомендации стандартного оформления текстов программ. Соответствие стандартам заключается в следующем:

Составление идентификаторов производится так, чтобы по ним было понятно их основное предназначение (пример: и т.д.).

Используются «форматирующие пробелы» для повышения удобочитаемости программы.

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

Использование объектно-ориентированного подхода обеспечивает расширяемость.

Устойчивость к неправильным входным данным – невозможность задания неправильных данных.

4 Руководство пользователя

Программа поставляется в виде исполняемого ЕХЕ файла, запускается под управлением ОС Windows 9X, не требует большого количества системных ресурсов. Имеет удобный пользовательский интерфейс и достаточно широкие возможности для рисования, просмотра и редактирования изображений.

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

В заголовке главного окна содержится информация о редактируемом рисунке:

имя рисунка,

путь,

размер рисунка в пикселях.

Главное меню содержит подпункты:

- создать,

открыть,

сохранить,

сохранить как,

выход.

Каждый подпункт снабжен стандартной комбинацией “горячих” клавиш, которые вызывают то или иное действие:

создать Ctrl+N,

открыть Ctrl+O,

сохранить Shift+F12,

сохранить как Ctrl+S,

выход F10.

Пункт главного меню правка содержит команды для работы с буфером:

вырезать Shift+Del,

копировать Ctrl+Insert,

вставить Shift+Incert.

Подпункт “О программе…” - содержит справку о данной программе.

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

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

Основные элементы панели инструментов выполняют следующие действия:

карандаш – рисование с учётом выбранного цвета, и толщины линии;

ластик - старание любого вида рисунка

заливка – заливка выбранной области, с учётом выбранного цвета;

спрей – распыление точек в определённой области, с учётом выбранного цвета;

окружность – рисование различных окружностей и эллипсов, с учётом выбранного цвета, вида заполнения;

прямоугольник – рисование квадратов и прямоугольников, с учётом выбранного цвета, вида заполнения;

скруглённый прямоугольник – рисование квадратов и прямоугольников со скруглёнными вершинами, с учётом выбранного цвета, вида заполнения;

ромб – рисование ромбов, с учётом выбранного цвета, вида заполнения;

пирамида – рисование пирамиды, с вершиной задаваемой координатами Х и Y в правом нижнем углу редактора, с учётом выбранного цвета;

вывод текста – вывод на рисунок текста выбранного шрифта и цвета, в выбранную точку;

5 Тестирование программы

Самое реалистичное тестирование программы проходило при её отладке, при тестировании проверялись функциональные возможности подсистем и отдельных инструментов. Затем осуществлялся сбор всех инструментов и производилось системное тестирование. С целью тестирования в данном редакторе создавались графические изображения при помощи многократного использования различных инструментов. Проверялась работа редактора при изменении цвета, толщины и вида линий, а также при изменении стиля заполнения различных фигур.

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

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

6. Критерии качества разработки программной системы

Критерии качества разработки программной системы:

соответствие заданию и выбранным ограничениям;

эффективное использование объектного подхода;

стиль программирования;

стилизация;

дизайн.

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

ООП-подход лишен недостатков структурного программирования, которое не позволяет выделять абстракции, не имеет достаточных средств для организации параллелизма, следовательно, затрудняет создание достаточно сложных систем. ООП-подход, кроме того, экономит мышление разработчика – не нужно держать в памяти большой объем информации о структуре программы.

Объектно-ориентированное программирование базируется на наследовании, инкапсуляции и полиморфизме. Реализуя заданный вариант, удалось обойтись минимальным количеством классов и объектов и их вложенности.

Созданный редактор имеет понятный и простой в использовании интерфейс, стандартное для Windows оформление.

Заключение

В ходе выполнения курсового проекта закреплены понятие объектно-ориентированного программирования, объектно-ориентированного анализа и объектно-ориентированного подхода, навыки по программированию в объектно ориентированной среде.

Программа, описанная в курсовом проекте разработана в соответствии с постановкой задачи на курсовое проектирование по теме “Разработка графического редактора” по дисциплине “Объектно-ориентированное программирование”.

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

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

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

Библиографический список

1. Доронина Ю.В. Конспект курса лекций по дисциплине “Объектно-ориентированное программирование”.

2. Фаронов В.В. Delphi 6. Учебный курс. – М.: Издатель Молгачева С.В., 2001. – 672 с., ил.

3. Методические указания к курсовой работе по дисциплине “Объектно-ориентированное программирование” для студентов специальности 7.080.401 – “Компьютеризированные системы обработки информации и управления” /Сост. Ю.В. Доронина, А.Н. Синицын, 2001 (электронная версия).

4. Дарахвелидзе П.Г., Марков Е.П. Delphi 4 – Среда визуального программирования. БХВ – Санкт-Петербург, 1999. – 816 с.

5. Озеров В. – Советы по Delphi (электронная книга).

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5139
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее