Аналог графического редактора Paint

Автор: Пользователь скрыл имя, 11 Апреля 2013 в 22:02, курсовая работа

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

Разработать редактор растровой графики, позволяющий создавать, редактировать, сохранять и открывать графические файлы формата *.bmp. Редактор должен иметь набор простейших графических примитивов, таких как: линия, кривая, прямоугольник, заливка, а также инструменты для частичного удаления (ластик) и выделения части изображения. Должна быть организована работа с буфером обмена (вырезание, копирование, вставка). Также рекомендуется наличие справочных материалов по работе инструментов внутри интерфейса программы.

Содержание

Аннотация 1
Техническое задание 3
Постановка задачи 4
Введение 5
Создание простого редактора растровой графики 7
Описание программного продукта 12
Заключение 17
Библиографический список 18

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

Курсовая работа (версия для печати).docx

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

// формирование нового  положения фрагмента

   R.Left = R.Left + X - X0;

   R.Right = R.Right + X - X0;

   R.Top = R.Top + Y - Y0;

   R.Bottom = R.Bottom + Y - Y0;

// запоминание положения  курсора мыши

   X0 = X;

   Y0 = Y;

// рисование фрагмента  в новом положении

   Image3->Canvas->CopyRect(R,BitMap->Canvas,R0);

// рисование рамки

   Image3->Canvas->DrawFocusRect(R);  }

 

Листинг 3. Инструмент «Прямоугольное выделение»

 

  1. «Прямоугольник» - реализация этого инструмента практически не отличается от предыдущего, за исключением того, что не производится перерисовки фрагмента изображения в новом месте, а происходит только рисование прямоугольника методом DrawFocusRect для обеспечения стирания, рисуемых в процессе движения мыши, изображений прямоугольника (см. инструмент «Линия»).
  2. «Закрашенный прямоугольник» - рисование происходит также как и пункте 4, но используется другой метод – Rectangle. Он заполняет область прямоугольника цветом фона.
  3. «Ластик» - этот инструмент реализован также как «Закрашенный прямоугольник», но закрашивается он всегда белым цветом, вне зависимости от установок фона. Размер «ластика» 6х6 пикселей.
  4. «Определитель цвета» - действует также как и стандартный выбор цвета на палитре. То есть определяется цвет пикселя под указателем мыши и затем закрашивается образец основного или фонового цвета в зависимости от нажатой кнопки мыши. Реализация этого инструмента изображена в листинге 4:

 

// Обработчик MouseDown

{

  if(Button == mbLeft)

  {

// основной цвет

    Image1->Canvas->Brush->Color = ((TImage *)Sender)->Canvas->Pixels[X][Y];

    Image1->Canvas->FillRect(Rect(0,0,Image1->Width,Image1->Height));

  }

  else

  {

// вспомогательный цвет

    Image2->Canvas->Brush->Color = ((TImage *)Sender)->Canvas->Pixels[X][Y];

    Image2->Canvas->FillRect(Rect(0,0,Image2->Width,Image2->Height));

  }

 

Листинг 4. Инструмент «Определитель цвета»

 

  1. «Заливка» - для реализации этого инструмента используется метод FloodFill, который закрашивает все пиксели вокруг заданного до тех пор, пока не встретит пиксель, цвет которого отличается от цвета первоначально указанного пикселя, то есть до какой-либо границы во все стороны. Реализация этого инструмента изображена в листинге 5:

 

// Обработчик MouseDown

  { 

   if (Button==mbLeft)

    Image3->Canvas->Brush->Color = Image1->Canvas->Brush->Color;

   else Image3->Canvas->Brush->Color = Image2->Canvas->Brush->Color;

   Image3->Canvas->FloodFill(X,Y,Image3->Canvas->Pixels[X][Y],fsSurface);}

 

Листинг 5. Инструмент «Заливка».

Описание программного продукта

 

Программно-аппаратные требования

Для работы данного приложения подойдет любая современная конфигурация компьютера с операционной системой Windows XP и выше. Также для запуска программы необходима библиотека vcl60.bpl, которая поставляется вместе с программным пакетом C++ Builder 6.0 либо скачивается отдельно. Эту библиотеку необходимо поместить в директорию C://Windows//system32.

Язык программирования

Для создания приложения была выбрана  среда C++ Builder 6.0, так как использование объектно-ориентированного подхода облегчило создание графического интерфейса программы.

Входные и выходные данные

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

Структура программы

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

Инструкция пользователю

Данная программа  представляет собой средство для  рисования простых или сложных  рисунков. Эти рисунки можно делать черно-белыми или цветными и сохранять  их в виде файлов. Для того чтобы  запустить программу нужно открыть  файл Kyrsovik.exe в результате на экране появится следующее окно (рис. 1):

Рисунок 1. Окно графического редактора

Состоящее из:

-рабочей области

-ниспадающего меню 

-панели инструментов

Рабочая область 

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

Ниспадающее меню

Состоит из трёх вкладок («Файл», «Правка», «Помощь»).

Во вкладке  «Файл» расположены следующие пункты:

    • «Открыть» (при выборе этого пункта на экране пользователя появляется диалоговое окно позволяющее открыть графический файл (рис. 2.))

Рисунок 2. Диалоговое окно «Открыть»

    • «Сохранить» (при выборе этого пункта на экране пользователя появляется диалоговое окно, которое позволяет выбрать пользователю имя и место сохранения графического файла (рис.3)).

Рисунок 3. Диалоговое окно «Сохранить»

 

    • «Выход» (при выборе этого пункта программа завершает свою работу).

Вкладка «Правка» содержит пункты:

    • «Отменить изменения» (отменяет все действия совершенные каким-либо инструментом)
    • «Очистить» (очищает весь холст)
    • «Вырезать» (занесение выделенного фрагмента изображения в буфер обмена, на его месте рисуется белый прямоугольник).
    • «Копировать» (копирование выделенного фрагмента изображения в буфер обмена)
    • «Вставить» (вставка из буфера обмена предварительно сохраненного там изображения в левый верхний угол холста)

Команды «Вырезать» и «Копировать» недоступны до момента выделения  какого либо фрагмента инструментом «Прямоугольное выделение».

Вкладка «Помощь» содержит два пункта:

    • «Помощь» (здесь содержится основная информация об инструментах)
    • «О программе» (здесь содержится информация об авторе программы и целях ее разработки)

Панель инструментов

Рисунок 4. Панель инструментов

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

  • Карандаш – рисует линию, повторяющую движения мыши. Для рисования следует нажать и удерживать нажатой левую или правую кнопку мыши в зависимости от того каким цветом вы хотите рисовать – основным или цветом фона.
  • Линия – рисует прямую линию. Для этого следует в какой-либо части рабочей области нажать на левую или правую кнопку мыши и не отпуская протянуть мышь. По мере изменения положения курсора вы будете наблюдать изменение линии. После того как кнопка мыши будет отпущена вы увидите окончательный вариант линии.
  • Ластик – стирает изображение белым цветом. Для стирания перетащите указатель по области, которую требуется очистить. При необходимости стереть весь рисунок нажмите на команду «Очистить» из меню «Правка».
  • Прямоугольное выделение – выделяет часть изображения прямоугольной рамкой для дальнейших действий. Для выделения нажмите кнопку мыши в любом месте холста, перетащите указатель по диагонали в нужном направлении до точки, где должен располагаться один из углов прямоугольника (левый верхний либо правый нижний).
  • Прямоугольник – рисует прямоугольник. Принцип рисования такой же, как и в предыдущем пункте.
  • Закрашенный прямоугольник – рисует прямоугольник, границы которого изображены основным цветом, а закрашен он цветом фона. Принцип рисования такой же, как и в предыдущем пункте, но предварительно необходимо выбрать нужные вам цвета в палитре.
  • Определитель цвета – используется для назначения основного или фонового цвета. Для этого необходимо нажать левой кнопкой (основной цвет), либо правой кнопкой (цвет фона) на том месте изображения, цвет которого необходимо определить.
  • Заливка – закрашивает часть изображения выбранным цветом до ближайших границ. Если текущий основной цвет или цвет фона требуется сменить, щелкните нужный цвет на палитре правой или левой кнопкой мыши. Затем щелкните левой или правой кнопкой мыши область или объект, который требуется залить. Если граница фигуры не является непрерывной, выбранным цветом будут залиты другие области рисунка.

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

 

Заключение

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

 

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

 

  1. http://www.eruditus.name/teorija/graf_redaktori.html
  2. http://priklad290660.narod.ru/graf.htm
  3. http://www.5byte.ru/8/0019.php
  4. Архангельский А.Я. «Программирование в C++ Builder 6.0», Москва, Бином, 2010г.

ТАГАНРОГ


2010

 


Информация о работе Аналог графического редактора Paint