Графический редактор

Автор: Пользователь скрыл имя, 22 Ноября 2011 в 17:31, курсовая работа

Описание работы

Целью данной работы является разработка программы, позволяющей рисовать графические примитивы.
Представление данных на мониторе компьютера в графическом виде впервые было реализовано в середине 50-х годов для больших ЭВМ, применявшихся в научных и военных исследованиях. С тех пор графический способ отображения данных стал неотъемлемой принадлежностью подавляющего числа компьютерных систем, в особенности персональных.

Работа содержит 1 файл

пз(ред).doc

— 310.50 Кб (Скачать)

Введение

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

Представление данных на мониторе компьютера в графическом  виде впервые было реализовано в  середине 50-х годов для больших  ЭВМ, применявшихся в научных  и военных исследованиях. С тех пор графический способ отображения данных стал неотъемлемой принадлежностью подавляющего числа компьютерных систем, в особенности персональных.

В настоящее  время работа с графическими изображениями  актуальна. Это связано с тем, что представление информации в графическом виде является наиболее приемлемой для большинства пользователей вследствие ее наглядности (80% информации мозг человека получает по зрительному каналу).

Разработка  данной программы позволит приобрести навыки работы с графикой в интегрированной среде программирования Delphi.

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

 

1.Анализ технического задания

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

   В процессе подготовки к созданию программы  рассматривались различные средства программирования. В результате этого, в качестве среды разработки была выбрана среда визуального программирования Delphi. Данная система разработки прикладных программ выгодно отличается от других программных средств следующими критериями:

  • среда основана на языке Object Pascal, который проще и понятнее других языков программирования, например C++;
  • язык системы имеет простые синтаксические структуры и понятный код;
  • большая часть языка подобна ранним версиям Pascal’я, изучаемым ранее;
  • Delphi обладает достаточно мощной системой визуального проектирования.

    Delphi - язык и среда программирования, относящаяся к классу RAD- (Rapid Application Development - «Средство быстрой разработки приложений») средств CASE - технологии. Delphi сделала разработку мощных приложений Windows быстрым процессом, доставляющим удовольствие. Приложения  Windows,  для создания  которых требовалось большое  количество человеческих усилий например в С++, теперь могут быть написаны одним человеком, использующим Delphi.

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

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

  1. сохранение рисунков в файл (в формате bmp);
  2. открытие рисунков (в формате bmp);
  3. печать изображений;
  4. копирование изображения в буфер обмена и вставка изображения из него;
  5. режим свободного рисования (инструмент «карандаш»);
 

  1. режим ластика;
  2. задание цветов лини и заливки;
  3. задание стилей линии и заливки;

Интерфейс программы содержит:

  1. Меню программы, состоящее из 4-х подменю Файл (Новый, Открыть, Сохранить, Печать, Выход), Правка (Отменить, Копировать, Вставить, Дополнительно…), Справка (Помощь, О программе). Каждая функция, находящаяся в меню имеет свою комбинацию «горячих» клавиш.
  2. Панель инструментов, на которой расположены инструменты линия, прямоугольник, окружность, текст, карандаш, ластик, заливка.
  3. Ниспадающие окна выбора цветов заливки и линии.
  4. Панель состояния, на которой отображаются текущие координаты курсора и толщина линии.
  5. Окно настроек Дополнительно, в котором задаётся толщина линии, стили линии и заливки, параметры шрифта.

При создании интерфейса программы предполагается использовать следующие основные компоненты: TPaintBox, TMainMenu, TSavePictureDialog, TOpenPictureDialog, TPrintDialog, TFontDialog, TColorBox, TSpeedButton. 

 

    2.Разработка алгоритмов

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

      
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рисунок1 – Блок-схема 

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

 

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

Линия, прямоугольник, окружность

Переменным  X_Begin и Y_Begin присваивается текущие координаты курсора мыши X и Y. 

Карандаш, ластик

Текущая позиция пера устанавливается в  точку текущих координат курсора мыши X, Y. 

Заливка

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

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

Линия

Текущая позиция пера устанавливается в  точку с координатами X_Begin, Y_Begin. Затем рисуется линия из текущей позиции пера в точку текущих координат мыши X, Y. Текущая позиция пера перемещается в точку текущих координат мыши X, Y. 

Прямоугольник

Рисуется  прямоугольник с координатами верхнего левого угла X_Begin, Y_Begin и правого нижнего угла X, Y (текущие координаты курсора мыши). 

Окружность

Рисуется  прямоугольник с координатами верхнего левого угла X_Begin, Y_Begin и правого нижнего угла X, Y (текущие координаты курсора мыши) и вписывает в него окружность. 

Карандаш, ластик

Рисуется  линия из текущей позиции пера в точку текущих координат мыши X, Y. Текущая позиция пера перемещается в точку текущих координат мыши X, Y. 

При отпускании левой кнопки мыши на плоскости рисования  происходит следующее: 

Линия

Текущая позиция пера устанавливается в  точку с координатами X_Begin, Y_Begin. Затем рисуется линия из текущей позиции пера в точку текущих координат мыши  

X, Y. Текущая позиция пера перемещается в точку текущих координат мыши X, Y. 

Прямоугольник

Если  разность текущих координат положения  курсора мыши и X_Begin, Y_Begin больше либо равно нулю, то рисуется прямоугольник с координатами верхнего левого угла X, Y (текущие координаты курсора мыши) и правого нижнего угла X_Begin, Y_Begin. Иначе рисуется прямоугольник с координатами верхнего левого угла X_Begin, Y_Begin и правого нижнего угла X, Y (текущие координаты курсора мыши). 

Окружность

Если  разность текущих координат положения  курсора мыши и X_Begin, Y_Begin больше либо равно нулю, то рисуется прямоугольник с координатами верхнего левого угла X, Y (текущие координаты курсора мыши) и правого нижнего угла X_Begin, Y_Begin и в него вписывается окружность. Иначе рисуется прямоугольник с координатами верхнего левого угла X_Begin, Y_Begin и правого нижнего угла X, Y (текущие координаты курсора мыши) и в него вписывается окружность. 

Текст

Рисуется  строка текста, начиная с точки  с координатами текущего положения  курсора мыши X, Y.

 

3.Руководство программиста

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

     Основной частью программы является  проект. Файл, в котором размещается  проект, называется расширением  .dpr.

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

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

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

     Модули, которые формирует разработчик  делятся на модули, содержащие  информацию, и  модули, не связанные непосредственно с формами (модули разработчика). Последние предназначены для размещения текста программы, связанного с решением задачи, для которой  она создается, размещения данных и так  далее.

      Проект данной работы состоит  из четырех форм. Все сведения  об этом помещены в таблицу 1.

Таблица1 – Используемые модули

Название Описание Размер
Графический редактор Главная форма 26 Kb
Дополнительно Форма дополнительных настроек 4 Kb
Текст Форма ввода  текста 2 Kb
Помощь Форма помощи 7 Kb
Размеры изображения Форма задания  размеров плоскости рисования 866 b

Основной  частью программы - проектом - является файл Project1.dpr .Здесь можно изменять свойства различных компонентов.

     В файлах с расширением .pas   расположены коды модулей- форм программы. Их пять:

GrafRed.pas, Dopolnit.pas, Help.pas, ImageSize.pas, InputBox.pas. Они содержат одноимённые формы (файлы с расширением .dfm).

      Главной модуль-формой является модуль форма GrafRed. В ней реализованы все основные глобальные переменные и подпрограммы. Глобальные переменные: Picture, BitMap (плоскости рисования), X_Begin, Y_Begin (координаты курсора мыши), a,b,c (выбранные пользователем значения), MyFont (шрифт), Mdown (нажатие кнопки мыши), R (прямоугольник). Подпрограммы: функция BrushStyle в зависимости от выбраннього пользователем значения возвращает результат типа TBrushStyle; функция PenStyle в зависимости от выбраннього пользователем значения возвращает результат типа TPenStyle.

Информация о работе Графический редактор