Delphi: разработка программы простейшего графического редактора

Разработка программы, аналога Paint системы Windows, с функциями открытия изображения в графическом редакторе и его сохранения, написания текста в любом указанном мышкой месте, изменения шрифта, размера и цвета текста на языке программирования Delphi.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 06.04.2014

КУРСОВАЯ РАБОТА

по дисциплине Информатика

Delphi: разработать программу простейшего графического редактора

Задание

Разработать программу простейшего графического редактора (аналог программы Paint системы Windows). Он должен писать текст в канве компонента TraintBox в указанном мышкой месте. Предусмотреть возможность изменения цвета, размера, типа шрифта, сохранения рисунка в графическом файле.

Оглавление

Введение

Введение

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

1.1 Описание

1.2 Основные составляющие

2. Структурные схемы алгоритма решения задачи

3. Текст программы

4. Работоспособность программы

Вывод

Список использованной литературы

Введение

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

Для выполнения задач курсовой работы я решил использовать среду программирования Delphi7. Мой выбор обусловлен наиболее простым и понятным в использовании интерфейсом программы.

Цели и задачи работы.

1) Освоение программирования;

2) Понимание структуры задачи, её построения;

3) Изучение какого-либо языка программирования. В данном случае - это язык Delphi;

4) Выявление ошибок в программировании и их устранение.

программа графический редактор delphi

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

1.1 Описание

Программа представляет собой аналог графического редактора Paint в системе Windows с урезанными функциями, написана на языке программирования Delphi в программе Borland Delphi7. Программа предусматривает возможности:

1) открытие изображения в графическом редакторе;

2) сохранение изображения;

3) написание текста в любом указанном мышкой месте;

4) изменение шрифта, размера и цвета текста;

1.2 Основные составляющие

PaintBox - область, на которой производятся все основные действия программы.

Image - область, в которую помещается открываемое изображение.

Panel 1 - панель инструментов.

MainMenu - главное меню.

SpeedButton - быстрая кнопка с изображением инструмента набора текста. С помощью нее можно ввести текст в любой выбранной области.

SpeedButton - быстрая кнопка с изображением карандаша. С ее помощью можно выполнить рисунок.

OpenPicture - диалог открытия изображения.

SavePicture - диалог сохранения изображения.

FontDialog - диалог выбора размера, вида и цвета текста

2. Структурные схемы алгоритма решения задачи

3. Текст программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ColorGrd, StdCtrls, Spin, ExtCtrls, Menus, Buttons, ExtDlgs;

type

TForm1 = class(TForm)

Image1: TImage;

MainMenu1: TMainMenu;

Panel1: TPanel;

Panel2: TPanel;

N1: TMenuItem;

SpeedButton5: TSpeedButton;

SpeedButton8: TSpeedButton;

N8: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N21: TMenuItem;

OpenPictureDialog1: TOpenPictureDialog;

SavePictureDialog1: TSavePictureDialog;

Memo1: TMemo;

ColorDialog1: TColorDialog;

ScrollBox1: TScrollBox;

N2: TMenuItem;

N3: TMenuItem;

FontDialog1: TFontDialog;

procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure FormCreate(Sender: TObject);

procedure SpeedButton5Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

procedure SpeedButton8Click(Sender: TObject);

procedure N10Click(Sender: TObject);

procedure N3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

const

funcpencil = 1;

funcfill = 2;

funcgetcol = 3;

funcline = 4;

funcerase = 5;

funcspray = 6;

funcrect = 7;

funcellip = 8;

funcrrect = 9;

funcwrite = 10;

funcbezier = 11;

funcpolygon = 12;

funcbrush = 13;

var

Form1 : TForm1;

func : byte;

fcol : tcolor;

bcol : tcolor;

Image : TImage;

fx,fy : integer;

stx,sty : integer;

eraser : integer;

but : TShiftState;

rad : byte;

stil : byte;

points : array [1..4] of TPoint;

NumP : byte;

wid,het : LongInt;

mastab : byte;

polyg : array of TPoint;

brkind,brsize : byte;

implementation

{$R *.dfm}

uses proc, AbPr;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

Y: Integer);

begin

if ssLeft in shift then

case func of

funcpencil : pencil(x,y,fcol);

end;

if ssright in shift then

case func of

funcpencil : pencil(x,y,bcol);

end;

Image.Canvas.MoveTo(x,y);

end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var i:integer;

st:string;

count:integer;

begin

if ssLeft in shift then

case func of

funcwrite : begin

memo1.Font.Color:=fcol;

form1.memo1.Left:=x;

form1.memo1.Top:=y;

form1.memo1.Show;

func:=100;

end;

end;

if ssright in shift then

case func of

funcwrite : begin

memo1.Font.Color:=bcol;

form1.memo1.Left:=x;

form1.memo1.Top:=y;

form1.memo1.Show;

func:=100;

end;

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

//form2.hide;

memo1.Hide;

eraser:=3;

openpicturedialog1.FilterIndex:=4;

openpicturedialog1.InitialDir:=extractfilepath(paramstr(0));

savepicturedialog1.InitialDir:=extractfilepath(paramstr(0));

panhide;

Image:=form1.image1;

wid:=image.Width;

het:=image.Height;

image.Canvas.Pen.Mode:= pmcopy;

bcol:=clwhite;

Image.Canvas.FillRect(rect(0,0,image1.Width,image1.Height));

end;

procedure TForm1.SpeedButton5Click(Sender: TObject);

begin

func:=funcpencil;

panhide;

setprop;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

if savepicturedialog1.Execute then

begin

image.AutoSize:=true;

image.Picture.LoadFromFile(openpicturedialog1.FileName);

end;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

if FontDialog1.Execute= true then

Memo1.Font:=FontDialog1.Font;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

if openpicturedialog1.Execute then

begin

image.AutoSize:=true;

image.Picture.LoadFromFile(openpicturedialog1.FileName);

end;

end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

image.Canvas.Pen.Mode:= pmcopy;

end;

procedure TForm1.SpeedButton8Click(Sender: TObject);

begin

panhide;

setprop;

func:=funcwrite;

end;

end.

4. Работоспособность программы

Вывод

По мере выполнения поставленного задания я хорошо освоил язык программирования Delphi и изучил программу Borland Delphi7, изучил поставленную задачу и принципы ее решения. Написал программу и исправил ошибки, возникшие в процессе выполнения работы.

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

Список использованной литературы

1. Лафоре Р. Объектно-ориентированное программирование / Р. Лафоре - 4-е изд. - Питер.: 2010. - 654 с.

2. Давыдов В.Г. Технологии программирования. / В.Г. Давыдов - Санкт-Петербург: БХВ-Петербург, 2009. - 432 с.

3. Касюк С.Т. Конспект лекций по дисциплине «Информатика» / С. Т. Касюк - Челябинск: ЮУрГУ, 2005. - 212 с.




Подобные документы

  • Особенности разработки приложений для операционной системы с помощью императивного, структурированного, объектно-ориентированного языка программирования Delphi. Формальное начало программы. Выделение конца программного блока. Листинг и описание программы.

    курсовая работа [1,2 M], добавлен 04.08.2014

  • Функции графического редактора Paint, создание рисунка (задание размера, изменение цвета). Возможности программы "Калькулятор". Работа с блокнотом, ввод текста с помощью клавиатуры. Текстовый процессор WordPad: простейшие приемы форматирования документов.

    контрольная работа [434,3 K], добавлен 17.11.2011

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

    курсовая работа [1,5 M], добавлен 08.02.2011

  • Создание нового документа. Редактирование текстовых файлов типа TXT и RTF. Сохранение измененного документа. Изменение шрифта, начертания и размера символов. Отмена последнего действия. Оформление нового текста, форматирование абзаца, удаление текста.

    реферат [158,6 K], добавлен 25.10.2013

  • Разработка программы проверки знаний для тестирования студентов по программированию с кодом на языке Delphi. Проектирование визуального интерфейса и словесный алгоритм работы программы. Алгоритмы разработанных процедур и функций, инструкция пользователя.

    курсовая работа [506,5 K], добавлен 21.02.2011

  • Изучение основ программирования и создание полноценного приложения в среде программирования Delphi. Разработка эскизного и технического проектов программы. Внедрение выполнения программы. Разработка рабочего проекта, спецификация и текст программы.

    курсовая работа [560,1 K], добавлен 18.07.2012

  • Разработка головоломки на основе гравюры Альбрехта Дюрера "Магический квадрат". Главные составные части среды программирования Delphi, особенности ее стандартных компонентов и процесса сохранения программы. Компоненты и алгоритмы создаваемой программы.

    курсовая работа [147,1 K], добавлен 05.02.2015

  • Функциональные возможности графического редактора Paint. Устройства персонального компьютера и их назначения. Стандартные программы операционной системы Windows. Приложения системы графического редактора к решению задач графики, теоретической механики.

    курсовая работа [156,5 K], добавлен 05.12.2008

  • Описания объектов, свойств, методов, формы и основных модулей текста программы в среде Delphi. Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования. Анализ результатов тестирования программного продукта.

    курсовая работа [2,4 M], добавлен 27.08.2012

  • Функционально-структурная организация персонального компьютера. Операционная система Windows. Функции стандартизации программы графического редактора Paint. Рисование геометрических объектов и оформление рисунков с помощью графического редактора Paint.

    курсовая работа [680,1 K], добавлен 03.12.2008